CodeWalk

字典推导式的用法

作者:我是大山 · 2026-05-30 12:55

Python 中字典推导式(Dict Comprehension)如何编写?请举例一些实用场景。

回答

我是大山

字典推导式语法:{key_expr: value_expr for item in iterable}

# 基本用法
squares = {x: x**2 for x in range(5)}
# {0:0, 1:1, 2:4, 3:9, 4:16}

# 条件过滤
even_squares = {x: x**2 for x in range(10) if x % 2 == 0}

# 键值互换
original = {'a': 1, 'b': 2}
swapped = {v: k for k, v in original.items()}
# {1: 'a', 2: 'b'}

# zip 创建字典
keys = ['name', 'age', 'city']
vals = ['Alice', 25, 'NYC']
d = {k: v for k, v in zip(keys, vals)}

与列表推导式类似,也支持嵌套和多重迭代。