约 1058 字
约 5 分钟
推导式有时也被称为生成式。
推导式(Comprehension)是一种快速创建容器便捷语法。
例如,我们要创建一个长度为 10,元素值为
numbers:list[int] = []
for x in range(10):
numbers.append(x**2)
print(numbers)
Loading...
但是这样略显麻烦,使用推导式可以更简单的实现:
# 列表推导式
numbers:list[int] = [x**2 for x in range(10)]
print(numbers)
Loading...
x**2
用于计算元素的值 for x in range(10)
为 x
赋值 并且,推导式可以使用多层循环,例如生成九九乘法表:
# 列表推导式
numbers:list[int] = [x*y for x in range(1, 10) for y in range(1, 10)]
print(numbers)
Loading...
集合和字典也可以使用推导式进行生成:
# 集合推导式
numbers_set:set[int] = {x**2 for x in range(10)}
print(numbers_set)
# 集合推导式
numbers_dict:dict[int] = {x : x**2 for x in range(10)}
print(numbers_dict)
Loading...
元组不支持推导式,因为圆括号(()
)的语法被 生成器
使用,但可以通过 tuple
函数转换为元组。
生成器
将在后面的内容中进行学习。
# 尝试元组导式
numbers:tuple[int] = (x**2 for x in range(10))
print(numbers)
print(tuple(numbers)) # 通过 tuple 函数转换为元组
Loading...
创建于 2025/5/1 21:50:29
更新于 2025/5/1 21:50:29