📜  python dict - Python (1)

📅  最后修改于: 2023-12-03 15:18:54.788000             🧑  作者: Mango

Python Dictionary

Python Dictionary (字典) 是 Python 中的一种基本数据类型,用于存储键(key)-值(value)对的映射关系。其类似于 Java 中的 Map 或 JavaScript 中的 Object。

1. 创建字典

可以使用大括号 {} 来创建一个空字典,并使用 key:value 的形式来添加元素。

# 创建空字典
empty_dict = {}

# 创建带有元素的字典
my_dict = {'name': 'Alice', 'age': 26}

也可以使用 dict() 函数来创建字典。

my_dict = dict(name='Alice', age=26)
2. 访问字典中的元素

可以使用中括号 [] 来访问字典中的元素,将要访问的 key 作为索引值。

my_dict = {'name': 'Alice', 'age': 26}
print(my_dict['name'])  # 输出 'Alice'
print(my_dict['age'])  # 输出 26

如果访问的 key 不存在,会抛出 KeyError 异常。

my_dict = {'name': 'Alice', 'age': 26}
print(my_dict['address'])  # KeyError: 'address'

可以使用 get() 方法来访问字典中的元素,如果 key 不存在则返回默认值(默认值为 None)。

my_dict = {'name': 'Alice', 'age': 26}
print(my_dict.get('name'))  # 输出 'Alice'
print(my_dict.get('address'))  # 输出 None
print(my_dict.get('address', 'unknown'))  # 输出 'unknown'
3. 修改字典中的元素

可以通过中括号 [] 来修改字典中的元素。

my_dict = {'name': 'Alice', 'age': 26}
my_dict['age'] = 27
print(my_dict)  # 输出 {'name': 'Alice', 'age': 27}
4. 删除字典中的元素

可以使用 del 关键字来删除字典中的元素。

my_dict = {'name': 'Alice', 'age': 26}
del my_dict['age']
print(my_dict)  # 输出 {'name': 'Alice'}

也可以使用 pop() 方法来删除字典中的元素,并返回删除的值。

my_dict = {'name': 'Alice', 'age': 26}
age = my_dict.pop('age')
print(age)  # 输出 26
print(my_dict)  # 输出 {'name': 'Alice'}
5. 遍历字典

可以使用 for 循环来遍历字典。

my_dict = {'name': 'Alice', 'age': 26}
for key, value in my_dict.items():
    print(key, value)

输出:

name Alice
age 26

也可以遍历其中的 keys 或 values。

my_dict = {'name': 'Alice', 'age': 26}
for key in my_dict.keys():
    print(key)

for value in my_dict.values():
    print(value)

输出:

name
age
Alice
26
6. 其他常用操作
6.1 判断 key 是否存在

可以使用 in 关键字来判断 key 是否存在。

my_dict = {'name': 'Alice', 'age': 26}
print('name' in my_dict)  # 输出 True
print('address' in my_dict)  # 输出 False
6.2 获取字典中元素的数量

可以使用 len() 函数来获取字典中元素的数量。

my_dict = {'name': 'Alice', 'age': 26}
print(len(my_dict))  # 输出 2
7. 总结

Python Dictionary 是一种用于存储键值对的数据类型,可以用于快速访问和修改数据。了解了字典的基本操作之后,可以在编写 Python 程序时更加高效地处理数据。