首页 > 后端开发 > Python教程 > Python 列表推导式如何工作以及它们的用途是什么?

Python 列表推导式如何工作以及它们的用途是什么?

Barbara Streisand
发布: 2024-12-27 00:55:11
原创
947 人浏览过

How Do Python List Comprehensions Work and What Are Their Uses?

什么是列表推导式?

在 Python 中,列表推导式提供了一种创建列表的简洁方法。它们使您能够生成新列表,其中每个元素都派生自另一个可迭代对象(可以迭代的序列或容器)的元素。

列表推导式如何工作?

列表推导式由以下部分组成:

  • 用于定义列表的方括号 ([])容器
  • 迭代可迭代对象的 for 循环
  • 对可迭代对象中的每个项目进行操作的表达式

理解的结果是一个列表,其中每个项目元素表示将表达式应用于每个项目的结果可迭代。

示例:

[x ** 2 for x in range(10)]
登录后复制

此推导式为 0 到 9 范围内的每个数字生成平方值列表,从而产生以下列表:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
登录后复制

超出列表推导式:

列表推导式可以扩展到其他数据结构。

  • 集合推导式: 使用表达式定义的元素创建集合,例如, {x for x in range(10)}.
  • 字典推导式: 使用表达式定义的键值对创建字典,例如 {key: value for key, value in items}。
  • 生成器表达式: 创建生成器,其中是惰性迭代,例如 (x for x in range(10))。

利用列表推导式:

列表推导式提供多种用例,包括:

  • 过滤:您可以使用它们根据条件有选择地创建列表,例如 [x for x in range(10) if x % 2 == 0].
  • 映射:对每个元素应用操作,例如,[item.strip() for item in ['foo ', 'bar n']].
  • 组合:组合来自多个可迭代的元素,例如,[d[x] for x in ['foo', 'baz']].

嵌套列表推导式:

多级 for 循环可用于列表推导式,例如 [j for x in [[1, 2, 3], [4, 5, 6]] for j in x],返回扁平版本

提示:

  • 推导式中的表达式必须是有效的 Python 语法。
  • 使用嵌套推导式时,外部 for 必须位于内部 for 之前。
  • 列表推导式可以在函数内部使用不带方括号,例如 sum(i**2 for i in range(5)).

以上是Python 列表推导式如何工作以及它们的用途是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板