字典类型
1、有序 or 无序:无序
2、可变 or 不可变:可变类型
字典常用操作
1、取值
#用key取值 print(my_dict['name']) print(my_dict['hobbies'][0]) # 赋值,若字典中没有对应的key,则是添加;否则做修改 my_dict['sex'] = 'male' my_dict['age'] = 20
注:如果键已存在,则会改变对应的值。
2、取字典长度
len(my_dict)
3、in 和 not in 判断某个值是否为dict的key
print('name' in my_dict)
4、删除:pop()
删除指定的key及对应的value,并返回value的值:
print(my_dict.pop('name'))
5、keys(),values()和items()
# 返回所有的key print(my_dict.keys()) # 返回所有的value print(my_dict.values()) # 返回所有的键值对 print(my_dict.items())
6、for循环遍历字典
# 默认遍历为key for key in my_dict: print(key) # 遍历key for key in my_dict.keys(): print(key) # 遍历value for value in my_dict.values(): print(value) # 遍历键值对 for key,value in my_dict.items(): print(key, ':', value, sep='')
7、get()
# 返回对应的value print(my_dict.get('name')) # 如果不存在指定的key,默认返回None,第二个参数可设置返回值(200) print(my_dict.get('aaa',200))
8、popitem()
# 随机删除一对键值,将被删除的key和value在元组内返回 print(my_dict.popitem())
9、update() # 用新字典更新旧字典,有则更改,无则添加(只增不减)
my_dict = { 'name': 'yyh', 'age': 19, 'hobbies': ['basketball', 'running'] } my_dict.update({'sex': 'male'}) print(my_dict)
>>>{'name': 'yyh', 'age': 19, 'hobbies': ['basketball', 'running'], 'sex': 'male'}
10、fromkeys()
print(my_dict) my_dict = {}.fromkeys(['k1','k2','k3'],[]) print(my_dict)
>>>{'name': 'yyh', 'age': 19, 'hobbies': ['basketball', 'running']}
{'k1': [], 'k2': [], 'k3': []}
11、setdefault()
my_dict = { 'name': 'yyh', 'age': 19, 'hobbies': ['basketball', 'running'] } # 如果键已存在,值不会发生改变 res = my_dict.setdefault('name','jxx') # 输出为 yyh print(res) # 如果键不存在,会新增 res = my_dict.setdefault('sex','male') print(res) print(my_dict)