在Python中,字典(Dictionary)是一种可变的、无序的、键值对(key-value pair)的集合。字典中的每个元素都是一个键值对,其中键(key)必须是唯一的,而值(value)则可以是任意数据类型。
# 使用花括号创建字典
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# 使用dict()函数创建字典
another_dict = dict(name='Bob', age=30, city='Los Angeles')
# 通过键访问值
print(my_dict['name']) # 输出: Alice
# 修改已有键的值
my_dict['age'] = 26
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York'}
# 添加新的键值对
my_dict['country'] = 'USA'
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York', 'country': 'USA'}
# 删除指定键的键值对
del my_dict['city']
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'country': 'USA'}
# 使用pop()方法删除并返回指定键的值
age = my_dict.pop('age')
print(age) # 输出: 26
print(my_dict) # 输出: {'name': 'Alice', 'country': 'USA'}
collections.OrderedDict
,保持插入顺序。collections.Counter
,用于计数可哈希对象。问题:尝试访问不存在的键会引发KeyError
。
解决方法:
# 使用get()方法避免KeyError
value = my_dict.get('nonexistent_key', 'default_value')
print(value) # 输出: default_value
问题:如何遍历字典的所有键、值或键值对?
解决方法:
# 遍历所有键
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)
问题:如何合并两个字典?
解决方法:
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
# 使用update()方法合并字典
dict1.update(dict2)
print(dict1) # 输出: {'a': 1, 'b': 3, 'c': 4}
# 使用**运算符合并字典(Python 3.5+)
merged_dict = {**dict1, **dict2}
print(merged_dict) # 输出: {'a': 1, 'b': 3, 'c': 4}
通过这些基础概念和方法,你可以有效地使用字典来处理各种编程任务。
领取专属 10元无门槛券
手把手带您无忧上云