Skip to content

推导式

  • 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。
  • 推导式是一种强大且简洁的语法,适用于生成列表、字典、集合和生成器。

列表推导式

  • 格式:[数据处理 for循环 if判断] if 判断是可选的
python
# 生成一个列表,包含 1 到 10 的平方数 且为偶数
squares = [x**2 for x in range(1, 11) if x % 2 == 0]
print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

生成器表达式

  • 没有元组推导式,只有生成器表达式
  • 格式:(数据处理 for循环 if判断) if 判断是可选的
python
# 生成一个生成器,包含 1 到 10 的平方数
squares = (x**2 for x in range(1, 11))
# 这是一个生成器
print(squares) # <generator object <genexpr> at 0x101a24048>
squares.__next__()

字典推导式

  • 格式:{键:值数据处理 for循环 if判断} if 判断是可选的
python
# 生成一个字典,键为 1 到 10,值为键的平方数
squares = {x: x**2 for x in range(1, 11)}
print(squares) # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}

集合推导式

  • 格式:{数据处理 for循环 if判断} if 判断是可选的
python
# 生成一个集合,包含 1 到 10 的平方数
squares = {x**2 for x in range(1, 11)}
print(squares) # {1, 4, 9, 16, 25, 36, 49, 64, 81, 100}