首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python3字典构造完全指南 - 多种方法及实例详解

Python3字典构造完全指南 - 多种方法及实例详解

原创
作者头像
用户11750067
发布2025-08-08 11:17:31
发布2025-08-08 11:17:31
13900
代码可运行
举报
运行总次数:0
代码可运行

来源

代码语言:javascript
代码运行次数:0
运行
复制
http://qq.zjdulou.com   
http://mobi.zjdulou.com 
http://cctv.zjdulou.com 
http://nab.zjdulou.com  
http://cctv6.zjdulou.com

什么是Python字典?

字典(dict)是Python中一种强大的数据结构,它存储键值对(key-value)映射关系。字典的主要特点包括:

  • 无序集合(Python 3.7+ 保持插入顺序)
  • 键必须是不可变类型(字符串、数字、元组等)
  • 值可以是任意Python对象
  • 通过键而不是索引访问元素
  • 高效查找、插入和删除操作

字典构造方法

1. 花括号直接构造

最常用的字典构造方式,直接使用{}包含键值对。

# 创建空字典

empty_dict = {}

# 创建包含初始键值对的字典

person = {"name": "Alice", "age": 30, "city": "New York"}

# 输出结果

print(person) # 输出: {'name': 'Alice', 'age': 30, 'city': 'New York'}

2. 使用dict()构造函数

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))

3. 字典推导式

类似于列表推导式,可以高效地创建字典。

# 创建数字平方字典

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}

4. fromkeys()方法

快速创建所有键共享相同值的字典。

# 创建默认值为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'}

5. 字典合并方法

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}

最佳实践总结

  • 对于静态字典,使用花括号直接构造最简洁
  • 需要动态生成键值对时,字典推导式是最佳选择
  • 当键和值分别存储在不同数据结构中时,使用dict(zip(keys, values))
  • 创建具有相同默认值的多个键时,使用fromkeys()方法
  • 在Python 3.9+中,使用| 运算符进行字典合并
  • 避免在键中使用可变类型(如列表、字典)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Python字典?
  • 字典构造方法
    • 1. 花括号直接构造
    • 2. 使用dict()构造函数
    • 3. 字典推导式
    • 4. fromkeys()方法
    • 5. 字典合并方法
  • 最佳实践总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档