Python字典(dict)是Python语言中常用的一种数据类型,它是无序的、可变的、索引的集合。字典中的元素是通过键(key)来进行索引的,键(key)可以是任意不可变类型,如字符串、数字或元组。字典中的值(value)可以是任意类型的数据。在Python中,字典用花括号{}来创建,其中每个键值对由冒号(:)分隔,而键值对之间用逗号(,)隔开。
一、基本操作
1、创建字典
# 创建一个空字典
dict1 = {}
# 创建一个初始值为空的字典
dict2 = dict()
# 创建一个有初始值的字典
dict3 = {'apple': 5, 'banana': 3, 'orange': 2}
2、访问字典元素
# 通过键来访问字典中的元素
print(dict3['apple'])
# 输出结果为:5
# 使用get()方法访问字典中的元素
print(dict3.get('apple'))
# 输出结果为:5
# 访问一个不存在的键
print(dict3.get('watermelon', 'not exist'))
# 输出结果为:"not exist"
3、修改字典元素
dict3['apple'] = 10
#修改键"apple"对应的值为10
print(dict3)
#输出结果为:{'apple': 10, 'banana': 3, 'orange': 2}
4、添加字典元素
dict3['watermelon'] = 6
#添加新的键值对"watermelon": 6
print(dict3)
#输出结果为:{'apple': 10, 'banana': 3, 'orange': 2, 'watermelon': 6}
5、删除字典元素
dict3.pop('banana')
#删除键"banana"对应的键值对
print(dict3)
#输出结果为:{'apple': 10, 'orange': 2}
del dict3['orange']
#删除键"orange"对应的键值对
print(dict3)
#输出结果为:{'apple': 10}
二、遍历字典
1、遍历键(key)
for key in dict3:
print(key)
#输出结果为:"apple" "orange"
2、遍历值(value)
for value in dict3.values():
print(value)
#输出结果为:10 2
3、遍历键值对(items)
for key, value in dict3.items():
print(key, value)
#输出结果为:"apple" 10 "orange" 2
三、复杂操作
1、字典推导式
字典推导式是Python中一种可以从任何可迭代对象创建字典的简洁的语法。下面是一个根据列表创建字典的例子。
list1 = ['apple', 'banana', 'orange']
dict4 = {key: len(key) for key in list1}
print(dict4)
#输出结果为:{'apple': 5, 'banana': 6, 'orange': 6}
2、使用zip()函数
zip()函数可以将多个列表或元组压缩成一个列表或元组,然后可以使用字典推导式将其转化为字典。
keys = ['apple', 'banana', 'orange']
values = [5, 3, 2]
dict5 = {key: value for key, value in zip(keys, values)}
print(dict5)
#输出结果为:{'apple': 5, 'banana': 3, 'orange': 2}
3、使用defaultdict()函数
defaultdict()函数是Python标准库collections中的一个类,它继承了内置字典类(dict)并实现了一个用于提供"默认值"的方法,它接收一个可调用的对象(如函数)作为参数,当字典中不存在某个键时,defaultdict()函数返回的默认值即为该可调用对象的返回值。
from collections import defaultdict
dict6 = defaultdict(int)
dict6['apple'] += 1
dict6['banana'] += 2
print(dict6)
#输出结果为:{'apple': 1, 'banana': 2}
四、总结
字典是Python语言中常用的一种数据类型,它可以用于存储键值对,并支持非常丰富的操作方法(如访问、遍历、添加、修改和删除等)。此外,在复杂数据处理中,我们也可以使用字典推导式、zip()函数和defaultdict()函数来完成更为复杂的操作。如此强大的功能,使得Python字典成为必不可少的数据类型之一。