如何在 Python 中创建字典(文字和构造函数)

了解如何在 Python 中创建字典。了解文字语法、字典构造函数、字典推导式和键值初始值设定项。

在编辑器中尝试此解决方案

概述

字典是 Python 中最强大且使用最频繁的内置数据类型之一。字典是一个可变的、有序的(自Python 3.7 起)键值对集合,其中每个键必须是唯一且可散列的(例如,字符串、数字或元组)。字典允许您以高度优化的 O(1) 平均情况时间复杂度执行查找操作。

创建字典最常见、最直接的方法是使用大括号“{}”以及用冒号分隔的键值对。例如, `my_dict = {"name": "Alice", "age": 30}` 创建一个填充字典。要创建空字典,可以使用空花括号“{}”或“dict()”构造函数。

Python 还提供其他高级方法来动态创建字典。 `dict()` 构造函数可以从键值元组或关键字参数列表构建字典。此外,字典推导式提供了一种从现有可迭代对象初始化字典的强大方法,将转换应用于内联的键或值。

代码和执行输出

该脚本演示了在 Python 中初始化和创建字典的多种方法。

create_dict.py
在编辑器中尝试
# 1. Dictionary literal syntax (most common)
user = {"name": "Alice", "age": 28, "verified": True}
print("Literal dict:", user)

# 2. Using the dict() constructor with keyword arguments
config = dict(host="localhost", port=8080, debug=True)
print("Constructor dict:", config)

# 3. Creating dictionary from key-value pairs (tuples)
pairs = [("id", 101), ("status", "active")]
status_dict = dict(pairs)
print("From tuples:", status_dict)

# 4. Dictionary comprehension (dynamic creation)
squares = {x: x**2 for x in range(1, 5)}
print("Comprehension:", squares)
端子输出
Literal dict: {'name': 'Alice', 'age': 28, 'verified': True}
Constructor dict: {'host': 'localhost', 'port': 8080, 'debug': True}
From tuples: {'id': 101, 'status': 'active'}
Comprehension: {1: 1, 2: 4, 3: 9, 4: 16}

逐步实施

  • 使用大括号 {} 和键:值对来创建字典文字。
  • 调用 dict() 创建一个空字典或使用关键字参数构造一个字典。
  • 将键值元组列表传递给 dict() 以将关系数组转换为字典对象。

常见问题解答

列表或字典项可以用作字典键吗?

不,字典键必须是可散列的(不可变的)。由于列表和字典是可变的,因此它们不能是键。元组、字符串和整数是有效的键。

如何创建具有一组键的默认值的字典?

您可以使用 dict.fromkeys(keys_list, default_value) 构造一个字典,其中所有键共享相同的默认值。

相关主题

推荐的 Python 资源

通过相关的交互式教程、备忘单和代码比较来扩展您的知识。