python元组
- 不可变序列,元组内元素值不能更改
- 创建元组
- 空元组与多元素元组 my_tuple = ()或my_tuple=(1,2,3)
- 一个元素的元组 my_tuple=(1,)
- 元组无法删除元素,更改元素和增加元素
- 元组只能够查询元素
- 使用for...in...便利
- 元组解包,将序列中的元素赋值给其他变量
- a,b,c = (1,2,3)-->a=1,b=2,c=3
- a,b,*_ = (1,1,2,4,5,6)-->a=1,b=1,_=[2,4,5,6]
- a,*b,c=(1,2,3,4,5)-->a=1,b=[2,3,4],c=5
- 序列解包类似
python字典
- 字典数据结构,键与值映射,
- 与列表的作用类似,用来储存对象的容器
- 列表的储存数据的性能非常好,但是查询数据性能很差,字典正好相反
- 在字典中每一个元素都有唯一的一个名字,通过名字可以快速查询到指定的元素
- 字典的结构是键值对(key-value),每一个键值对称之为一项(item)
- 语法 {key:value,key1:value1}
- d = {}
- 字典只能是不可变对象,但值可以是任意类型
- 当存在两个相同的键时,后一个键值对覆盖前一个
- 创建方法二
- d = dict(key=value,key1=value1)
- 创建方法三
- 双值序列,子序列中有两个元素
- d = dict([(key, value), (key1, value1)])
- len() 获取字典中键值对的个数 item的个数
- in or not in 检查字典中是否包含指定的键
- get(key[,default])方法
- get方法传递key值,当字典中存在这个key时获取该键的值
- 当key的键不在字典中时,返回一个None值
- 在key不存在时也可以传递一个值,该值与key形成键值对保存在字典中
- 修改字典
- d[key] = value_1
- 当key存在时,修改该key所对应的值
- 当key不存在时,为字典新添加一个键值对
- setdefault()向字典中添加键值对
- d.setdefault(key[,default])
- 如果key存在,则返回key值,不会对字典有任何的影响,并返回key在字典中的值
- 如果key不存在,向字典中添加新的键值对,并将值返回
- update(),将其他字典中的key-value添加到字典中
- d.update(d1)
- 将d1中的key-value添加到d中
- popitem() 随机删除一个键值对,一般会删除最后一个
- 返回将要删除的键值对,返回的是一个元组(key,value)
- del d[key] 删除键位key的键值对
- pop(key[,default])
- 当key存在时,删除键位key的键值对,并返回key对应的值
- 当key不存在时,返回指定的默认值
- clear() 清空字典
- d.clear()
- 浅复制
- copy()
- 用于对字典浅复制
- 赋值代表着两个变量指向同一个变量地址
- 使用copy(),会重新开辟内存,将变量指向新的内存地址,两个内存地址中的值相等,但是更改一个变量的值不会影响另一个变量的值
- 当字典中还有子字典时,copy()无法对子字典进行重新开辟内存储存,字典中的子字典会指向同一个内存地址
- 浅复制指会复制字典本身,如果字典中还有字典是不会被复制的
- 字典遍历
- for k in d.keys(): d.keys()返回一个保存所有key的列表
- for v in d.values(): d.values() 返回包含所有value的列表
- for k,v in d.items(): 返回键和值组成元组的列表[(key,value),(key1,value1)]
python集合
- 与列表相似
- 不同点
- 集合中只能储存不可变对象
- 集合中储存的对象是无序的
- 集合中不能出现重复的元素
- 创建集合
- s = {1,2,3}
- s = set() # 空集合
- 在set()中传入序列生成集合
- 在set()中传入字典时,只会包含字典的key
- in or not in
- len()
- s.add()向集合中添加元素
- s.update(s1) 将一个集合s2中的元素添加到另一个集合s中
- s.pop() 随机删除并返回该值
- s.remove() 删除集合中指定的元素
- s.clear() 清楚集合中的元素
- 集合的运算
- 交集
- s = s1&s2
- 并集
- s = s1|s2
- 差集
- s = s1-s2
- 异或集运算 # 集合中不相交的部分
- s = s1 ^ s2
- 交集
- 集合的关系, s1时s2的
- 子集
- s1<=s2
- 真子集
- s1<s2
- 超集
- s1>=s2
- 真超集
- s1>s2
- 子集
python可变对象
-
每个对象保存了三个数据
- id(标识)
- type(类型)
- value(值)
-
可变对象时通过变量去修改对象里面的值
网友评论