Python 列表生成式教程

148 阅读2分钟

列表生成式(List Comprehensions)是 Python 中一种简洁、高效的创建列表的方法。它可以用一行代码实现原本需要多行循环才能完成的任务。本文将介绍列表生成式的基本概念、语法和使用场景。

1. 列表生成式基本概念

列表生成式是一种用于创建列表的表达式,它可以用更简洁的语法替代传统的 for 循环。列表生成式的结果是一个新的列表,其中包含根据表达式计算得到的元素。

2. 列表生成式语法

列表生成式的基本语法如下:


\[expression for item in iterable if condition]

*   `expression`:用于计算新列表中的元素的表达式。
*   `for item in iterable`:一个 `for` 循环,用于遍历可迭代对象。
*   `if condition`:(可选)一个条件表达式,用于过滤可迭代对象中的元素。

3. 列表生成式示例

3.1 基本示例

使用列表生成式创建一个包含 0 到 9 的平方的列表:

squares = \[x\*\*2 for x in range(10)]
print(squares)

输出结果:

\[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

3.2 带条件的示例

使用列表生成式创建一个包含 0 到 9 的偶数平方的列表:

even\_squares = \[x\*\*2 for x in range(10) if x % 2 == 0]
print(even\_squares)

输出结果:

\[0, 4, 16, 36, 64]

3.3 嵌套列表生成式示例

使用嵌套列表生成式创建一个乘法表:

multiplication\_table = \[\[x \* y for x in range(1, 10)] for y in range(1, 10)]
for row in multiplication\_table:
print(row)

输出结果:

\[1, 2, 3, 4, 5, 6, 7, 8, 9]
\[2, 4, 6, 8, 10, 12, 14, 16, 18]
\[3, 6, 9, 12, 15, 18, 21, 24, 27]
\[4, 8, 12, 16, 20, 24, 28, 32, 36]
\[5, 10, 15, 20, 25, 30, 35, 40, 45]
\[6, 12, 18, 24, 30, 36, 42, 48, 54]
\[7, 14, 21, 28, 35, 42, 49, 56, 63]
\[8, 16, 24, 32, 40, 48, 56, 64, 72]
\[9, 18, 27, 36, 45, 54, 63, 72, 81]

4. 总结

列表生成式是 Python 中创建列表的一种简洁、高效的方法。它可以用一行代码实现原本需要多行循环才能完成的任务。通过掌握列表生成式的基本概念、语法和使用场景,你可以更高效地处理列表相关的问题。