比较运算
- == ,!=
注意:判断两个字典是否相等,只看键值对是否一样,不管键值对的顺序;
- 字典不支持比较大小 >和<符号
print({'a': 11, 'b': 22} == {'b': 22,'a': 11})
\# print({'a': 11} \> {'b': 0})
in / not in
key in 字典 --- 判断字典中指定的key是否存在
key not in 字典 --- 判断指定的key是否不存在
dict1 = {'a': 1, 'b': 2, 'c':3}
print('a' in dict1)
print(1 in dict1)
获取字典中键值对的个数
- len()
获取字典中key的最大值/最小值
- max() min()
把别的数据类型转换为字典
dict(数据) - 数据必须是序列,并且序列中的元素都有两个元素的子序列,任何序列,只要元素是只有两个元素的子序列都行
字典转列表/元组/集合都是将字典中的key取出来作为列表/元组/集合的元素
print(dict([(1,2)]))
相关方法
- 1.字典.clear() - 清空字典,在内存空间中删除数据,但是不删除内存空间,性能更高
dict1 = {'a': 1, 'b': 2, 'c':3}
dict2 = dict1.copy()
dict2.clear()
print(dict2)
dict2 = {} \# 在容器不存在的时候使用
- 2.字典.copy() - 复制字典中的元素内容,产生一个新的字典,产生新的地址,赋值后相互不影响
dict1 = {'a': 1, 'b': 2, 'c':3}
dict2 = dict1 \# 复制地址
- 3.字典.fromkeys(seq, val) - 创建一个新的字典,用seq序列做为键,val作为默认值
dict1 = {'a': 5, 'b': 2}
lisr1 = [1,2,3]
new\_dict = dict1.fromkeys(lisr1, 2)
print(new\_dict) \# {1: 2, 2: 2, 3: 2}
4.字典.keys() - 将字典所有的keys取出产生一个新的序列
4.字典.values() - 将字典所有的values取出产生一个新的序列
4.字典.items() - 将字典所有的key和value做为一个元组取出产生一个新的序列
5.字典.setdefalut(key, value=None) - 若只有key,当key不存在的时候,添加键值对,key:None,若key后有一个value,添加键值对key:value,当key存在的时候,不修改
dict1 = {'a': 5, 'b': 2}
dict1.setdefault('c', 7)
print(dict1)
dict1.setdefault('a', 2)
print(dict1)
- 6.字典.update(seq) - 序列必须是可以转换为字典的序列,或直接添加一个字典,若键存在,则更新,若键不存在,则修改
dict1 = {'a': 5, 'b': 2}
dict1.update([(1,2), ('a',0)])
print(dict1)