dict() 是 Python 内置的字典构造函数,用于创建字典对象。字典是一种键值对(key-value) 结构的可变容器,具有快速查找、插入和删除的特性,是 Python 最重要的核心数据类型之一。dict() 不仅可以创建空字典,还能将其他可迭代对象或关键字参数转换为字典。

一、函数语法

dict(**kwargs)
dict(mapping, **kwargs)
dict(iterable, **kwargs)

参数:

mapping:可选。映射对象,如其他字典或 collections.Mapping 类型。

iterable:可选。可迭代对象,且其中的元素必须是长度为 2 的可迭代对象(通常为键值对)。

**kwargs:可选。以关键字参数的形式直接指定键值对。

返回值:

返回一个新的字典对象(dict 类型)。

二、基础用法示例

1、 创建空字典

d = dict()
print(d)  # 输出:{}

2、从关键字参数创建字典

d = dict(a=1, b=2)
print(d)  # 输出:{'a': 1, 'b': 2}

3、从映射对象创建字典

d1 = {'x': 10, 'y': 20}
d2 = dict(d1)
print(d2)  # 输出:{'x': 10, 'y': 20}

4、从可迭代对象创建字典

pairs = [('name', 'Alice'), ('age', 25)]
d = dict(pairs)
print(d)  # 输出:{'name': 'Alice', 'age': 25}

5、混合多种方式创建

d = dict([('a', 1)], b=2)
print(d)  # 输出:{'a': 1, 'b': 2}

三、dict 对象特点与注意事项

1、类型

dict 是内置的可变映射类型。

2、键的要求

必须是可哈希(hashable)的不可变类型,如字符串、数字、元组(且内部元素也必须可哈希)。

3、值的要求

值可以是任意 Python 对象(可变或不可变)。

4、无序性(Python 3.6+ 保留插入顺序)

从 Python 3.7 起,字典会按照插入顺序保存键值对,这在遍历时很有用。

四、进阶技巧

1、字典推导式与 dict() 配合

d = dict((x, x**2) for x in range(5))
print(d)  # 输出:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

2、使用快速生成字典

keys = ['id', 'name', 'score']
values = [101, 'Bob', 88]
d = dict(zip(keys, values))
print(d)  # 输出:{'id': 101, 'name': 'Bob', 'score': 88}

3、合并字典

d1 = {'a': 1}
d2 = {'b': 2}
merged = dict(d1, **d2)
print(merged)  # 输出:{'a': 1, 'b': 2}

五、补充说明

1、性能优势

字典通过哈希表实现,查找、插入、删除操作的平均时间复杂度为 O(1)。

2、常见应用场景

(1)存储键值映射关系(如用户信息、配置项)。

(2)作为数据缓存结构。

(3)统计频率、分组归类。

3、空字典快捷写法

除了 dict(),也可以直接使用 {} 创建空字典。

小结

dict() 是创建和转换字典的通用入口,支持映射对象、可迭代对象以及关键字参数等多种形式。在需要高效存储和查找键值数据时,字典是首选数据结构。熟练掌握 dict() 的用法,可以让你的 Python 代码在数据组织和处理上更高效、更优雅。

点赞有美意,赞赏是鼓励