您的位置:

Python-实用字典操作技巧

一、字典简介

Python 的字典 (dictionary) 是一种可变容器模型,且可存储任意类型对象。字典中的每个元素由一个键和一个值组成,键和值之间使用冒号分隔。字典用‘{}’括起来,每个键值对之间使用逗号分隔。

dict = {'性别': '男', '年龄': 20, '身高': 180}

字典的键必须是不可变的类型,如字符串、数字,值可以是任意类型的对象。

二、字典基本操作

1、访问字典

dict = {'性别': '男', '年龄': 20, '身高': 180}
print(dict['性别'])  # 男

2、修改字典

dict = {'性别': '男', '年龄': 20, '身高': 180}
dict['年龄'] = 21
print(dict)  # {'性别': '男', '年龄': 21, '身高': 180}

3、添加字典元素

dict = {'性别': '男', '年龄': 20, '身高': 180}
dict['体重'] = 70
print(dict)  # {'性别': '男', '年龄': 20, '身高': 180, '体重': 70}

4、删除字典元素

dict = {'性别': '男', '年龄': 20, '身高': 180}
del dict['性别']
print(dict)  # {'年龄': 20, '身高': 180}

三、字典排序

由于字典无序,所以我们需要对字典进行排序才能更好的应对实际需求。

1、根据值排序

dict = {'a': 20, 'b': 10, 'c': 30}
dict = dict(sorted(dict.items(), key=lambda x:x[1]))
print(dict) # {'b': 10, 'a': 20, 'c': 30}

2、根据键排序

dict = {'a': 20, 'c': 30, 'b': 10}
dict = dict(sorted(dict.items(), key=lambda x:x[0]))
print(dict) # {'a': 20, 'b': 10, 'c': 30}

四、字典合并

有时候我们需要将多个字典合并成一个,可以使用 update() 方法实现。

dict1 = {'a': 20, 'c': 30}
dict2 = {'b': 10, 'd': 40}
dict1.update(dict2)
print(dict1) # {'a': 20, 'c': 30, 'b': 10, 'd': 40}

五、字典推导式

字典推导式是一种快速创建字典的方法。

even_dict = {x: x**2 for x in range(11) if x % 2 == 0}
print(even_dict) # {0: 0, 2: 4, 4: 16, 6: 36, 8: 64, 10: 100}

六、字典的 copy()

Python 的变量是对象的引用,当我们对变量进行拷贝时,只是拷贝了对象的引用,并没有拷贝对象本身。

dict1 = {'a': 20, 'c': 30, 'b': 10}
dict2 = dict1  # 此时修改 dict1, dict2也会发生改变
dict3 = dict1.copy() # 此时拷贝了对象本身,两者独立
dict1['a'] = 40
print(dict1)  # {'a': 40, 'c': 30, 'b': 10}
print(dict2)  # {'a': 40, 'c': 30, 'b': 10}
print(dict3)  # {'a': 20, 'c': 30, 'b': 10}

七、字典的setdefault()

有时我们需要给字典中不存在的键设置默认值,可以使用 setdefault() 方法实现。

sports = {'篮球': 20, '足球': 15}
sports.setdefault('乒乓球', 0)
print(sports) # {'篮球': 20, '足球': 15, '乒乓球': 0}