python中的字典
Python中的字典(Dictionary)是一种非常灵活且强大的数据结构,用于存储键值对(key-value pairs)。字典是Python中唯一内建的映射类型,它允许你以几乎任意类型作为键(key),然后将这些键映射到任意类型的值(value)。
字典的特点
- 无序性:字典是无序的集合,即你不能通过索引来访问字典中的元素。
- 键的唯一性:字典中的每个键都是唯一的,但值则不必唯一。
- 可变性:字典是可变的,意味着你可以在创建后添加、删除或修改其中的元素。
- 键的不可变性:字典的键必须是不可变类型,如字符串(str)、数字(int、float、complex等)或元组(tuple),但列表(list)、集合(set)或字典本身等可变类型则不能作为键。
创建字典
字典使用大括号{}
来定义,键值对之间用冒号:
分隔,不同的键值对之间用逗号,
分隔。
# 创建一个空字典
my_dict = {}
# 创建一个包含一些键值对的字典
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
访问字典中的值
你可以通过键来访问字典中的值。
print(my_dict['name']) # 输出: John
如果尝试访问不存在的键,Python会抛出一个KeyError
。为了避免这种情况,可以使用get()
方法,该方法在键不存在时返回None
(或者你可以指定一个默认值)。
print(my_dict.get('name')) # 输出: John
print(my_dict.get('job')) # 输出: None
print(my_dict.get('job', 'Not specified')) # 输出: Not specified
修改字典
你可以通过赋值来修改字典中的值。
my_dict['age'] = 31 # 修改age的值
添加新元素
向字典中添加新元素非常简单,只需指定一个新的键和对应的值即可。
my_dict['job'] = 'Engineer' # 添加一个新的键值对
删除元素
- 使用
del
语句删除键值对。
del my_dict['job'] # 删除键为'job'的键值对
- 使用
pop()
方法删除键值对,并返回被删除的值。
job = my_dict.pop('job', 'Not found') # 如果'job'存在,则删除并返回其值;否则返回'Not found'
- 使用
popitem()
方法删除并返回字典中的最后一个键值对(Python 3.7+中,字典按照插入顺序排序,因此popitem()
会返回最后插入的键值对)。
last_item = my_dict.popitem() # 删除并返回最后一个键值对
- 使用
clear()
方法清空字典中的所有元素。
my_dict.clear() # 清空字典
遍历字典
你可以遍历字典的键、值或键值对。
# 遍历键
for key in my_dict:
print(key)
# 遍历值
for value in my_dict.values():
print(value)
# 遍历键值对
for key, value in my_dict.items():
print(key, value)
字典是Python中非常有用的数据结构,能够让你以非常灵活和高效的方式存储和操作数据。