• 周六. 11月 23rd, 2024

python 字典的详细用法

城主

12月 28, 2022 ,

在 Python 中,字典是一种无序的键值对集合。它由若干个键值对组成,其中每个键都与一个值相关联。

你可以使用大括号 {} 创建一个字典,并在大括号内放置一些键值对。每个键值对由一个键和一个值组成,键和值之间用冒号 : 分隔。多个键值对之间用逗号 , 分隔。

例如,你可以使用如下代码创建一个字典,其中包含两个键值对:





dict = {'name': 'John', 'age': 36}

你可以通过使用方括号 [] 和字典中的键来访问字典中的值。例如,你可以使用如下代码访问字典中的 ‘name’ 键对应的值:





name = dict['name']
print(name)  # 输出 'John'

你也可以使用字典中的键来更新字典中的值。例如,你可以使用如下代码将字典中的 ‘age’ 键对应的值更新为 40:





dict['age'] = 40
print(dict['age'])  # 输出 40

你还可以使用方法 items() 来遍历字典中的所有键值对。例如,你可以使用如下代码遍历字典中的所有键值对:





for key, value in dict.items():
    print(key, value)

此外,你还可以使用方法 keys()values() 分别遍历字典中的所有内容。

你可以使用方法 pop() 来删除字典中的特定键值对。例如,你可以使用如下代码删除字典中的 ‘name’ 键值对:





dict.pop('name')
print(dict)  # 输出 {'age': 36}

你还可以使用方法 clear() 来清空字典中的所有键值对。例如,你可以使用如下代码清空字典:





dict.clear()
print(dict)  # 输出 {}

你还可以使用操作符 in 来判断字典中是否包含某个特定的键。例如,你可以使用如下代码判断字典中是否包含 ‘name’ 键:





if 'name' in dict:
    print('Dictionary contains key "name"')
else:
    print('Dictionary does not contain key "name"')

此外,你还可以使用方法 copy() 来复制字典。例如,你可以使用如下代码复制字典:





dict2 = dict.copy()
print(dict2)  # 输出与 dict 相同的字典

你可以使用函数 len() 来获取字典中键值对的数量。例如,你可以使用如下代码获取字典中键值对的数量:





num_items = len(dict)
print(num_items)  # 输出字典中键值对的数量

你还可以使用方法 get() 来获取字典中特定键对应的值,同时还可以指定一个默认值。例如,你可以使用如下代码获取字典中 ‘name’ 键对应的值,如果字典中不存在 ‘name’ 键,就返回默认值 ‘unknown’:





name = dict.get('name', 'unknown')
print(name)  # 输出 'unknown'

你还可以使用方法 setdefault() 来设置字典中特定键对应的值,如果该键不存在,就将其添加到字典中。例如,你可以使用如下代码将字典中 ‘name’ 键对应的值设置为 ‘unknown’:





dict.setdefault('name', 'unknown')
print(dict)  # 输出 {'name': 'unknown'}

此外,你还可以使用方法 update() 来合并两个字典。例如,你可以使用如下代码将字典 dict2 中的所有键值对添加到字典 dict1 中:





dict1 = {'name': 'John', 'age': 36}
dict2 = {'height': 180, 'weight': 80}
dict1.update(dict2)
print(dict1)  # 输出 {'name': 'John', 'age': 36, 'height': 180, 'weight':80}

你可以使用字典推导来快速创建字典。例如,你可以使用如下代码创建一个键值对为数字 1 到 10 的平方的字典:





squares = {x: x**2 for x in range(1, 11)}
print(squares)  # 输出 {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}

你还可以使用字典推导来过滤字典。例如,你可以使用如下代码创建一个只包含键值对为偶数的字典:





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

此外,你还可以使用方法 popitem() 来随机删除字典中的一个键值对。例如,你可以使用如下代码随机删除字典中的一个键值对:





key, value = dict.popitem()
print(key, value)  # 输出被删除的键和值

希望这些关于Python字典的信息能帮到你。

阅读  Python 抽象基类的使用方法