您的位置:

Python字典用法详解

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字典成为必不可少的数据类型之一。