dict概述:使用键值对(key-value)方式存储数据
dict中key的特点:
1、key必须是唯一的
2、key值必须是不可变的数据类型:int float str tuple
3、list是可变的,不能作key值使用
dict中value的特点:
value的类型可以是任意类型的,可以重复
dict的特点:
1、无序的集合
2、可变的集合
1、print(字典名[key]) # 可以打印出key所对应的value的值
注: 当所输入的key在字典中不存在时,报错
2、字典名.get(key) 该方法同样可以的到字典中key所对应的value的值
注: 当输入的key值不存在时,返回None
1.2.1、增
格式:字典名[新的key] = value
1.2.2、删
格式:字典名.pop(key) # 将key移除,对应的value会自动删除
1.2.3、改
格式:字典名[新的key] = 新的value
最简单的方式:
for i in dict:
print(i, dict[i]) # 其中i为key值
1、字典名.keys:返回一个key的列表
2、字典名.values:返回一个value的列表
3、字典名.items():返回一个列表,该列表张的元素为元组类型
元组的第一个元素为key,元组的第二个类型为value
注: 当list中的元素为元组类型时:for后面的变量可以写多个,用逗号隔开, 每个变量分别对应元组相应下标的元素
使用该方式时,不建议元组的元素个数过多
例: for key, value in dict13.items():
print(key, value) #该方法可将字典对应的key 与value 一一打印出来
特点:1、无序的
2、元素不重复的集合
set:可以认为dict的key的集合
创建set需要将一个list或者tuple或者dict或string作为参数传入创建 ,传入的参数必须是集合类型
例:
set1 = set([1, 2, 2, 2, 3, 4, 4, 4, 4, 5])
print(set1) # {1, 2, 3, 4, 5} 重复的元素只保留一个 若以字典创建,则只保留key值
注:set与字典是无序的,不能通过下标来操作
2.2.1、增
1、set.add(obj) 添加数据,add添加数据时,只能添加不可变的数据类型的数据
2、set.update(iter) 添加数据,将iter集合中的元素打碎插入
2.2.2、删
set.remove(ele) ele为set集合中的数据,当数据不存在时,删除会报错
for i in set:
print(i)
set10 = set([1, 2, 3, 4, 5]) set11 = set([4, 5, 6, 7, 8])
1、交集 print(set10 & set11) # {4, 5}
2、并集 print(set10 | set11) # {1, 2, 3, 4, 5, 6, 7, 8}
3、补集 print(set10 ^ set11) print(set11 ^ set10) # {1, 2, 3, 6, 7, 8}
4、差集 print(set10 - set11) # {1, 2, 3}
print(set11 - set10) # {6, 7, 8}
1、list -> set
set1 = set([1, 2, 3])
2、tuple -> set
set2 = set((1, 2, 3))
3、set -> list
list1 = list(set1)
4、set -> tuple
tuple1 = tuple(set1)
5、list -> tuple
tuple2 = tuple(list1)
6、tuple -> list
list2 = list(tuple1)