目录
引言
1. 创建字典
2. 访问字典元素
3. 添加或更新元素
4. 删除元素
5. 检查键是否存在
6. 获取字典的长度
7. 遍历字典
8. 合并字典
9. 字典推导式
10. 获取所有键
11. 获取所有值
12. 获取所有键值对
13. 从字典中获取值
14. 设置默认值
15. 清空字典
16. 字典复制
17. 从keys创建字典
18. 字典视图对象
19. 排序字典
20. 字典合并的新方法(Python 3.9+)
引言
Python 字典(Dictionary)是数据结构中的一种重要类型。它以键值对的形式存储数据,具有快速查找的特性。今天我们将通过生动有趣的案例,来探讨字典的20个经典操作,帮助大家深入理解和掌握这些概念。
1. 创建字典
字典可以通过花括号 {}
或 dict()
函数来创建。
# 使用花括号创建
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# 使用 dict() 函数创建
my_dict = dict(name='Alice', age=25, city='New York')
2. 访问字典元素
通过键来访问字典中的值。
name = my_dict['name']
print(name) # 输出: Alice
3. 添加或更新元素
通过键来添加或更新字典中的值。
my_dict['email'] = 'alice@example.com' # 添加新元素
my_dict['age'] = 26 # 更新已有元素
print(my_dict)
4. 删除元素
使用 del
语句或 pop()
方法来删除字典中的元素。
# 使用 del 语句
del my_dict['city']
# 使用 pop() 方法
age = my_dict.pop('age')
print(my_dict)
print(age) # 输出: 26
5. 检查键是否存在
使用 in
关键字来检查字典中是否存在某个键。
if 'name' in my_dict:
print('Name exists in the dictionary')
6. 获取字典的长度
使用 len()
函数来获取字典中的键值对数量。
length = len(my_dict)
print(length) # 输出: 2
7. 遍历字典
可以使用 for
循环来遍历字典的键、值或键值对。
# 遍历键
for key in my_dict:
print(key)
# 遍历值
for value in my_dict.values():
print(value)
# 遍历键值对
for key, value in my_dict.items():
print(f'{key}: {value}')
8. 合并字典
使用 update()
方法来合并两个字典。
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
dict1.update(dict2)
print(dict1) # 输出: {'a': 1, 'b': 3, 'c': 4}
9. 字典推导式
通过字典推导式来创建字典。
squares = {x: x*x for x in range(6)}
print(squares) # 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
10. 获取所有键
使用 keys()
方法来获取字典中的所有键。
keys = my_dict.keys()
print(keys)
11. 获取所有值
使用 values()
方法来获取字典中的所有值。
values = my_dict.values()
print(values)
12. 获取所有键值对
使用 items()
方法来获取字典中的所有键值对。
items = my_dict.items()
print(items)
13. 从字典中获取值
使用 get()
方法来安全地获取字典中的值,如果键不存在,则返回默认值。
name = my_dict.get('name', 'Unknown')
print(name) # 输出: Alice
nickname = my_dict.get('nickname', 'Unknown')
print(nickname) # 输出: Unknown
14. 设置默认值
使用 setdefault()
方法来获取字典中的值,如果键不存在则设置默认值。
nickname = my_dict.setdefault('nickname', 'Alice')
print(my_dict)
15. 清空字典
使用 clear()
方法来清空字典中的所有元素。
my_dict.clear()
print(my_dict) # 输出: {}
16. 字典复制
使用 copy()
方法来创建字典的浅拷贝。
new_dict = my_dict.copy()
print(new_dict)
17. 从keys创建字典
使用 fromkeys()
方法创建一个新的字典,其中的键来自于一个序列,值为提供的默认值。
keys = ['name', 'age', 'city']
new_dict = dict.fromkeys(keys, 'unknown')
print(new_dict) # 输出: {'name': 'unknown', 'age': 'unknown', 'city': 'unknown'}
18. 字典视图对象
字典的 keys()
, values()
, items()
方法返回的都是视图对象,这些对象会随着字典的变化而变化。
keys_view = my_dict.keys()
print(keys_view)
my_dict['age'] = 30
print(keys_view) # 输出包含更新后的键
19. 排序字典
使用 sorted()
函数对字典的键或值进行排序。
sorted_keys = sorted(my_dict.keys())
sorted_values = sorted(my_dict.values())
print(sorted_keys)
print(sorted_values)
20. 字典合并的新方法(Python 3.9+)
在Python 3.9及以上版本,可以使用 |
运算符来合并字典。
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
merged_dict = dict1 | dict2
print(merged_dict) # 输出: {'a': 1, 'b': 3, 'c': 4}
通过以上20个经典操作,相信大家对Python字典的使用有了更深入的了解和掌握。在实际编程中,灵活运用这些操作,可以大大提高代码的简洁性和效率。希望这篇文章能够帮助你更好地理解和使用Python字典!
Python魔法方法__prepare__是啥?来敲黑板了!-CSDN博客文章浏览阅读1.1k次,点赞29次,收藏15次。在Python中,__prepare__是一个特殊的方法,它属于元类(metaclass)的范畴。当一个类被创建时,__prepare__会在类定义体被执行之前被调用。它的主要职责是准备一个字典或映射对象,这个对象将作为类命名空间的基础,用于存储类定义中的属性和方法。简而言之 ,__prepare__为即将诞生的类准备了一个“孕育环境”。https://blog.csdn.net/xyh2004/article/details/140011553 |