带示例的 Python 列表理解 [2022]

已发表: 2021-06-29

通过在 python 中使用理解,可以从已经定义的序列中以简洁或简短的方式构造序列。 序列包括列表、字典、集合等数据结构。python 支持以下推导:

  • 列出理解
  • 字典理解
  • 设置理解
  • 生成器理解

本文将重点介绍 Python 中的列表推导及其用途。 就像python中的列表推导集和字典推导一样,也可以创建。

目录

什么是列表理解?

Python 是一种被广泛接受的编程语言,它为用户提供了编写简单而优雅的代码的能力。 列表理解是 python 的一个独特功能,用于创建新列表。 通过使用单行代码,可以创建功能。

列表推导中不必包含 if 条件,但是列表推导中可以包含多种形式。

因此,列表推导

  • 是一种基于现有列表定义和创建列表的优雅方式。
  • 与用于创建列表和循环的普通函数相比,列表推导更加紧凑和快速。
  • 为了使代码更加用户友好,应避免编写长列表推导式。
  • 使用 for 循环时,可以重写列表推导。

如何创建列表?

有几种方法可以在编程语言 python 中创建列表。

1.for循环

For 循环可用于创建列表。 创建元素列表需要遵循三个步骤。

  • 将实例化一个空列表。
  • 循环用于可以迭代的元素。
  • 每个元素都附加到列表 end

2. map() 对象

另一种方法,即 map() 是基于函数式编程的。 当一个可迭代的函数和元素传递给 map() 时,就会创建一个对象。 通过提供的函数执行可迭代元素生成的输出将包含在对象中。

3. 列表推导

制作列表的另一种方法是使用列表推导。 for 循环可以重写为仅包含一行的代码。

与先创建空列表然后在最后添加元素的早期方法相比,在这种情况下,它只发生在一行中。 列表和内容被简单地同时定义。 使用的代码是。

每个python 列表推导中都有三个元素

  • 表达式:它是成员,表达式是方法调用或返回值的任何表达式。
  • 成员:它是可迭代列表中的值或对象。 在上面的示例中,成员的值为 1。
  • 可迭代:它是一个列表、序列、集合或其他对象,其元素一次可以返回一个。 在上面的例子中,Iterable 是 range(10)。

即使在使用 map() 的地方, Python 列表推导也能很好地工作。 上面的例子可以重写为。

使用 map() 和列表推导的区别在于,在列表推导的情况下返回一个列表,而在 map() 的情况下返回一个地图对象。

条件语句

可以通过在列表推导中使用条件语句来修改现有列表。 无论是列表还是元组,都可以通过 python 列表推导进行修改。

1.使用if的条件

'if' 的条件可以通过以下代码在列表理解中使用。

运行上述程序会生成输出:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

2.使用嵌套IF的条件

列表推导执行以下检查:

  • 元素 y 能被 2 还是 5 整除?
  • 如果 y 满足这两个条件,则将其附加到 num_list。

另请阅读:现实世界中迷人的 Python 应用程序

3. 使用 if-else

在上面显示的示例中,十个数字,即从 0 到 10 由列表推导检查。

4. 使用嵌套循环

生成的输出:[[1, 4], [2, 5], [3, 6], [4, 8]]

通过使用两个循环来计算矩阵的转置。

  • 与普通的嵌套循环相比,列表推导中包含的嵌套循环与其他嵌套循环的工作方式不同。

句法

python列表理解的基本语法

[列表中项目的表达式]

假设我们有一个字符串,我们想通过使用列表推导来迭代它。

在上面的例子中,可以注意到 'human' 被用作字符串而不是列表。 这就是python 列表推导的强大之处 无论是字符串还是元组,列表推导都可以识别它并像列表一样对其进行处理。

使用循环可以执行相同的操作。 但是,循环不能遵循列表推导的语法。

结论

在本文中,您简要了解了 python 中的列表推导及其以各种方式创建的内容。 有了这种理解的知识,可以为您的任务尝试其他代码。 python 的概念得到了很多关注,但如果你能够有效地使用你的数据,它会更有价值。 这可以通过编写清晰简洁的代码来实现。

因此,如果您愿意了解python及其在数据挖掘中的实现,可以查看upGrad提供的数据科学Executive PG Program课程。 为期 12 个月的课程专为 21 至 45 岁的入门级专业人士(男性和女性)设计,是印度第一个 NASSCOM 认证的 PGP。 该课程拥有超过 400 多个小时的学习和 14 多种工具和语言的实践经验,专为实现您的梦想而设计。 与课程相关的查询是最受欢迎的。

什么时候首选 Python 列表来存储数据?

Python列表被认为是在以下场景中存储数据的最佳数据结构:
1. 列表可用于存储具有不同数据类型的各种值,并且可以仅通过它们各自的索引来访问。
2. 当你需要对元素进行数学运算时,可以使用列表,因为它允许你直接对元素进行数学运算。
3. 由于列表可以调整大小,当您不确定要存储的元素数量时,可以使用它来存储数据。
4. 列表元素很容易可变,它也可以存储重复元素,不像集合和字典。

列表理解比循环有什么优势?

列表推导比循环提供了几个显着的优势。 以下是列表推导的一些优点:
1. 列表推导比循环更快更紧凑,因为它首先收集所有元素并一次将它们全部插入。
2. 与循环在块中所做的相同的事情可以使用列表推导式在单行中完成,使代码更清晰,更用户友好。
3. 将矩阵解析为向量和列表过滤是可以看出列表推导优于循环的一些最佳示例。

说明创建列表的不同方式?

可以通过下面提到的多种方式创建 Python 列表:
1. 使用 for 循环:for 循环是创建列表的最基本方式。 可以通过三种简单的方式使用 for 循环创建列表:
一种。 创建一个空列表。
湾。 遍历所有要插入的元素。
C。 使用 append() 函数附加列表中的每个元素。
2. 使用map(): Python 中的map() 函数可以交替用于创建列表。 该函数接受两个参数:
一种。 函数:映射将每个可迭代对象传递给的函数。
湾。 Iterable:要映射的元素或可迭代对象。
3. 使用列表推导:此方法是所有三种方法中最优化的。 虽然在上述方法中必须首先创建一个空列表,但列表推导式允许您使用单行将所有元素插入列表中。