在 Python 中,dict() 是用于创建字典(Dictionary)的内置函数,字典是一种可变容器模型,且可存储任意类型对象,以键值对(key-value)的形式存储数据。
以下是 dict() 函数的主要用法和示例:
基本语法
dict() # 创建一个空字典 dict(mapping) # 从映射对象创建 dict(iterable) # 从可迭代对象创建 dict(kwargs) # 从关键字参数创建
常见用法示例
✅ 创建空字典
d = dict()
print(d) # 输出: {}
✅ 从关键字参数创建
键必须是有效的 Python 标识符(不能是数字开头或包含特殊字符),值可以是任意类型。
d = dict(name="Alice", age=30, city="Beijing")
print(d)
# 输出: {'name': 'Alice', 'age': 30, 'city': 'Beijing'}
⚠️ 注意:键不能是数字或包含空格/特殊字符。
dict(1="one")会报错。
✅ 从可迭代对象创建(如列表、元组)
可迭代对象中的每个元素必须是包含两个元素的可迭代对象(通常是元组或列表),表示键和值。
d = dict([('name', 'Alice'), ('age', 30)])
print(d)
# 输出: {'name': 'Alice', 'age': 30}
也可以从两个列表创建(使用 zip):
keys = ['name', 'age', 'city']
values = ['Alice', 30, 'Beijing']
d = dict(zip(keys, values))
print(d)
# 输出: {'name': 'Alice', 'age': 30, 'city': 'Beijing'}
✅ 从另一个字典创建(拷贝)
original = {'a': 1, 'b': 2} d = dict(original) print(d) # 输出: {'a': 1, 'b': 2}
注意:这是浅拷贝,如果值是可变对象(如列表),修改原字典中的可变对象会影响新字典。
与其他创建方式对比
| 方式 | 示例 | 说明 |
|---|---|---|
dict() |
dict(a=1, b=2) |
适合键为合法标识符时,代码简洁 |
{'a': 1, 'b': 2} |
最常用,灵活,键可以是任意可哈希类型 | |
dict() + 列表 |
dict([('a', 1)]) |
适合动态生成键值对 |
注意事项
- 键必须是可哈希的(hashable):如字符串、数字、元组等,列表、字典等可变对象不能作为键。
- 关键字参数限制:使用
dict(key=value)时,key必须是合法的 Python 标识符(字母、数字、下划线组成,不能以数字开头)。 - 重复键:如果传入重复的键,后面的值会覆盖前面的值。
d = dict(a=1, a=2) print(d) # 输出: {'a': 2}
实用技巧
使用 dict.fromkeys() 创建默认值相同的字典
d = dict.fromkeys(['a', 'b', 'c'], 0)
print(d) # 输出: {'a': 0, 'b': 0, 'c': 0}
合并字典(Python 3.9+)
d1 = {'a': 1}
d2 = {'b': 2}
d = dict(d1, d2) # 或 d = d1 | d2 (Python 3.9+)
print(d) # 输出: {'a': 1, 'b': 2}
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/479117.html



