python学习第四天
今日内容
一、元祖类型及元祖的内置方法
二、字典类型及字典类型的内置方法
三、集合及内置的集合类型内置的方法
一 、元祖.
元祖类型与列表类型相同,都是可以存多个值,但是不相同的是元祖本身是不能被修改的
A、元祖的基本使用 tuple
1、用途:记录多个值,当多个值没有改变的需求是,使用元祖类型更合适。
2、定义的方式:元祖是用 ()小括号内用逗号隔开任意元素类型的值
元祖是不能被修改的
示例:
tuplevar =(1,2,3,4,5,6,) # tuplevar = tuple((1,2,3,4,5,6,)) print(tuplevar)
3、常用操作和内置的方法
a、优先掌握的操作
1、按索引取值(正向取+反向取):只能取
2、切片(顾头不顾尾,步长)
3、长度
4、成员运算in和not in
5、循环
1、按索引取值(正向取+反向取):只能取
t = ('yul', 'mx', 123, ['a','b']) print(t[0]) # 索引元祖中元素的值 print(t[2]) # 索引元祖中元素的值 #是不可改变的 # t[2] = 'aaaa' t[-1][0] = '1' # 可以改变的是里面的可变元素 print(t)
2、切片(顾头不顾尾,步长)
t = ('yul', 'mx', 123, ['a','b']) print(t[0:2]) print(t)
3、长度 len
t = ('yul', 'mx', 123, ['a','b']) print(len(t))
4、成员运算 in 和 not in 还是判断的语句
xin = ('asd','asdz','zxc',123) print('zxc' in xin )
5、循环
xin = ('asd','asdz','zxc',123) for i in xin: print(i)
B、需要掌握的操作
1、count 计数
2、index 索引
1、count 计数
xin = ('asd','asdz','zxc','zxc','zxc',123,) print(xin.count('zxc'))
2、index 索引
示例1: t = (1, 2, 3, 4, 5,) print(t.index('1',1)) 示例2: t=('a','b','c','a') print(t.count('a')) print(t.index('a',1,10)) print(t.index('xxx',1,10)) # 没有的值会报错
二、字典类型及字典类型的内置方法
字典 doct
字典的作用:能存储多组key.value键值对;key 是对value的描述性信息,所以key通常情况下是字符串,value可以是任何数据类型
key是不可变的信息
字典类型我们只能看到key 可以根据key来取value的值
字典类型中key的内容是不可以重复的
无序和可变
定义:
d = {2:'sb', 'sb':'dsb',} # d = dic({2:'sb', 'sb':'dsb',}) print(d,type(d),id(d)) print(d['sb'])
优先掌握的操作:
1、按key存取值:可存可取
d1 = {'name':'yl','pwd':'123'} print(d1['name']) # 根据key取值 d1['name'] = '名字' # 根据key替换value的值 print(d1) d1['age'] = 18 # 当赋值语句的key不存在的情况下,会自动新增一个键值对 print(d1)
2、长度 len
d1 = {'name':'yl','pwd':'123'} print(len(d1)) # 统计key的个数
3、成员运算in和not in 对于字典来说只能判断key值
d1 = {'name':'yl','pwd':'123'} print('123'in d1) # 是不能判断valeu的值的 print('name'in d1)
4、删除 del pop cler
d1 = {'name':'yl','pwd':'123'} del d1['name'] print(d1)
2、pop示例:弹出仅仅是value 会返回删除的值,如果要弹出的key没有的情况下报错
d1 = {'name':'yl','pwd':'123'} res = d1.pop('name') print(res)
3、clear是清除
d1 = {'name':'yl','pwd':'123'} d1.clear() print(d1)
#5、键keys() ,值values(),键值对items()
dic={'name':'egon','age':18,} # print(dic.keys()) for k in dic: print(dic) print(dic.values()) print(dic.items()) #
6.get()根据key获取value(重点)
dic={'name':'egon','age':18,} print(dic['name']) print(dic['pwd']) # 当没有key值时报错 print(dic.get('name','你需要的key有')) print(dic.get('apd','你需要的key有')) # get可以传第二个参数。当你的key不存在的情况下,返回第二个你写好的参数信息
# 需要掌握的操作
# fromkeys() Python 字典 fromkeys() 函数用于创建一个新字典,以序列 l 中元素做字典的键,value 为字典所有键对应的初始值。 l=['name','age','sex'] # dic={'name':None,'age':None,'sex':None} dic={} # for k in l: # dic[k]=None # print(dic) dic=dic.fromkeys(l,None) print(dic)
update 更新
old_dic = {'name':'yul','age':18} new_dic = {'name':'YUL','xb':'N'} old_dic.update(new_dic) print(old_dic)
setdefault:有则不动/返回原值,无则添加/返回新值
Python 字典 setdefault() 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
dic={'name':'egon','age':18} res=dic.setdefault('name','EGON') # 字典中已经存在key则不修改,返回已经存在的key对应的value print(dic) print(res) res=dic.setdefault('sex','male') # 字典不存在key则添加"sex":"male",返回新的value print(dic) print(res)
三、集合及内置的集合类型内置的方法
集合类型两大应用场景:关系运算和去重
针对群体之间做比较,不涉及单个元素
注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
把两个列表上里面的重复元素拉出来
pythons = ['jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'] linux = ['frank', 'jerry', 'tank', 'egon', 'alex'] for name in pythons: if name in linux: print(name) '''
定义
集合:可以包含多个元素,用逗号分割,
集合的元素遵循三个原则:
1:每个元素必须是不可变类型
s = {1,2,3,4,5,6} # <class 'set'> # s = set() print(type(s)) s1 = set() print(type(s1)) # 注意在定义空集合的只能用关键字set x = {} # <class 'dict'> 如果你仅仅只写了一个大括号 那么python默认将它当做字典类型 print(type(x))
自动将重复的元素 去除
s = {1,2,2,2,2,2,2,2,2,2,3,4,4,4,4,4,5} print(s)
3:无序 以下操作会报错的
s = {1, 2, 3, 4, 5, 6} print(s[1])
优先掌握的操作:
1、长度len s = {1,2,3,4} print(len(s))
2、成员运算in和not in
s = {1,2,3,4} print(1 in s)
3、|合集
4、&交集
5、-差集
6、^对称差集
pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'} linux = {'frank', 'jerry', 'tank', 'egon', 'alex'} # 既报名python也报名linux的学生姓名 print(pythons & linux) # 交集 # 只报名python的学生姓名 print(pythons - linux) # 只报名linux的学生姓名 print(linux - pythons) # 没有同时报名两门课程的学生姓名 print(pythons ^ linux) # 对称差集 # 取出所有报了名的学生姓名 print(pythons | linux)
原文地址:https://www.cnblogs.com/ioipchina/p/11134473.html
- [Silverlight 4 RC]RichTextBox概览
- WCF后续之旅(4):WCF Extension Point 概览
- Asp.Net无刷新上传并裁剪头像
- 用泛型的IEqualityComparer<T>接口去重复项
- python与office(一)
- Asp.net 后台添加CSS、JS、Meta标签(帮助类)
- 分享一下cookies操作(增、删、改、查)小经验
- [Silverlight 4 RC]WebBrowserBrush概览
- 一个例子理解C#位移
- WCF后续之旅(3): WCF Service Mode Layer 的中枢—Dispatcher
- silverlight 2 Random 随机数解决方案
- 开发中巧用Enum枚举类型
- Jquery 事件冒泡
- Vue2的单元测试与调试技术
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用文件字节输出流FileOutputStream写入文件
- jdk1.8 自带的Base64加密与解密
- 缓冲字节输入流BufferedInputStream
- 在页面上写一个验证码
- 缓冲字节输出流BufferedOutputStream
- EL表达式获取简单数据与复杂数据(调用类)+EL表达式获取Map集合与list集合数据
- 用缓冲字节流,复制一个照片
- 09小结:封装结果集或实体类时,有多个对象的解决方法
- 序列化与反序列化Serializable,Externalizable
- response.getWriter().write()和 response.getWriter().print()的区别:
- java使用TCP,由客户端向服务端传输图片,(电脑与电脑)或(同一台电脑)
- 使用druid
- UDP实现多人聊天室
- 请求(doFilter)与响应乱码(BaseController+自定义注解@ContentType(““))集中处理
- 反射:Reflect(获取类对象三种方法)