• 预备
  • 基础语法
  • 容器类型
  • 函数
  • 面向对象
  • 输入输出
  • 进程控制
  • 线程控制
  • 正则表达式
  • 网络编程
  • 图形界面
  • 常见问题
  • API 帮助手册

  • 设置

1058

5 分钟

#推导式(Comprehension)

推导式有时也被称为生成式。

推导式(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