来源
http://qq.zjdulou.com
http://mobi.zjdulou.com
http://cctv.zjdulou.com
http://nab.zjdulou.com
http://cctv6.zjdulou.com
字典(dict)是Python中一种强大的数据结构,它存储键值对(key-value)映射关系。字典的主要特点包括:
最常用的字典构造方式,直接使用{}包含键值对。
# 创建空字典
empty_dict = {}
# 创建包含初始键值对的字典
person = {"name": "Alice", "age": 30, "city": "New York"}
# 输出结果
print(person) # 输出: {'name': 'Alice', 'age': 30, 'city': 'New York'}
dict()函数提供多种方式来创建字典。
# 创建空字典
empty_dict = dict()
# 使用关键字参数
person = dict(name="Bob", age=25, city="London")
# 使用键值对元组列表
pairs = [("name", "Charlie"), ("age", 35), ("city", "Paris")]
person = dict(pairs)
# 使用两个列表(键列表和值列表)
keys = ["name", "age", "city"]
values = ["David", 40, "Berlin"]
person = dict(zip(keys, values))
类似于列表推导式,可以高效地创建字典。
# 创建数字平方字典
squares = {x: x*x for x in range(1, 6)}
print(squares) # 输出: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
# 从现有字典创建新字典
person = {"name": "Eva", "age": 28, "city": "Tokyo"}
person_upper = {k.upper(): v for k, v in person.items()}
print(person_upper) # 输出: {'NAME': 'Eva', 'AGE': 28, 'CITY': 'Tokyo'}
# 带条件的字典推导式
even_squares = {x: x*x for x in range(10) if x % 2 == 0}
print(even_squares) # 输出: {0: 0, 2: 4, 4: 16, 6: 36, 8: 64}
快速创建所有键共享相同值的字典。
# 创建默认值为None的字典
keys = ["name", "age", "city"]
person = dict.fromkeys(keys)
print(person) # 输出: {'name': None, 'age': None, 'city': None}
# 创建带有默认值的字典
default_person = dict.fromkeys(keys, "unknown")
print(default_person) # 输出: {'name': 'unknown', 'age': 'unknown', 'city': 'unknown'}
Python 3.5+ 提供了多种合并字典的方式。
# 使用update()方法
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
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}
# 使用 | 运算符 (Python 3.9+)
merged_dict = dict1 | dict2
print(merged_dict) # 输出: {'a': 1, 'b': 3, 'c': 4}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。