1.比较运算
==, !=
注意:判断两个字典是否相等,只看键值对是否一样,不管键值对的顺序;
字典不支持>和<符号
print({'a': 11, 'b': 22} == {'b': 22, 'a': 11}) # True
2. in / not in
key in 字典 --- 判断字典中指定的key是否存在
key not in 字典 --- 判断字典中指定的key是否不存在
dict1 = {'a': 1, 'z': 2, 'c': 3}
print('a' in dict1) # True
print(1 in dict1) # False
3. len(), max(), min()
dict(数据) - 数据要求是序列,并且序列中的元素都是有两个元素的子序列
# 获取字典中键值对的个数
print(len(dict1))
# 获取字典中key的最大值/最小值
print(max(dict1), min(dict1))
# 将列表转换成字典
print(dict([(1, 2), ('a', 'b'), [10, 'abc']]))
dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
# 字典转列表/元祖/集合都是将字典中的key取出来作为列表/元祖/集合的元素
print(list(dict2)) # ['name', 'color', 'height']
4.相关方法
"""
1.字典.clear() - 清空字典
注意:清空容器推荐使用clear操作,而不是重新赋一个空的容器
dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
print(id(dict2))
dict2.clear()
print(dict2, id(dict2))
# 只有容器本身不存在的时候,可以使用
dict2 = {}
print(id(dict2))
2.字典.copy() - 复制字典的中的元素,产生一个新的字典
dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
# 直接赋值,修改其中一个的元素,会影响另外一个
dict3 = dict2
print(dict3)
dict3['name'] = '小明'
print(dict3)
print(dict2)
dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
# 拷贝赋值,会产生新的地址,赋值后相互不影响
dict4 = dict2.copy()
print(dict4)
del dict4['color']
print(dict4)
print(dict2)
3. dict.fromkeys(序列, 值) -- 以序列中所有的元素作为key,指定的值作为value创建一个新的字典
new_dict = dict.fromkeys('abc', (10, 20, 30))
print(new_dict)
new_dict = dict.fromkeys(['name', 'age', 'tel'], 0)
print(new_dict)
4.
字典.keys() - 将字典所有的key取出产生一个新的序列
字典.values() - 将字典所有的value取出产生一个新的序列
字典.items() - 将字典所有的key和value做为一个元祖取出产生一个新的序列
dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
print(dict2.keys(), dict2.values(), dict2.items())
5.字典.setdefault(key, value=None)
字典.setdefault(key) - 当key不存在的时候,添加键值对key:None
字典.setdefault(key, value) - 当key不存在的时候,添加键值对key:value
注意:这个操作当key存在的时候,不会修改
dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
dict2.setdefault('name2', '小胡')
dict2.setdefault('sex')
print(dict2)
6. 字典1.update(字典2) - 使用字典2中的键值对去更新字典1;
如果字典2中的key,字典1中本身存在就是修改,不存在就添加
dict2 = {'name': 'xiaohua', 'color': 'black', 'height': 170}
dict2.update({'height': 180, 'age': 18})
print(dict2)
dict2.update([('a', 100), ('age', 30)])
print(dict2)
网友评论