📌  相关文章
📜  列表推导 (1)

📅  最后修改于: 2023-12-03 14:50:13.661000             🧑  作者: Mango

列表推导

列表推导(List Comprehension)是Python语言中的一种快速创建列表的方法,它使用简单的语法来创建列表,同时也具有简洁、易读的优点。

基本语法

列表推导的基本语法如下:

[expression for item in iterable]

其中,expression 是想要对 item 进行操作的表达式,item 是要循环遍历的变量,iterable 是可迭代对象,例如列表、元组、集合、字典等。

使用条件表达式

列表推导也支持条件表达式,可以根据条件过滤元素。例如,我们可以使用一个简单的列表推导来创建一个新的列表,其中只有偶数被包含:

numbers = [1, 2, 3, 4, 5, 6, 7, 8]
filtered = [x for x in numbers if x % 2 == 0]
print(filtered)

输出结果为:

[2, 4, 6, 8]

在上面的例子中,if 语句检查 x % 2 == 0 是否为真,如果为真,则将 x 添加到 filtered 中。

嵌套列表推导

列表推导也支持嵌套。例如,我们可以使用嵌套的列表推导来创建一个二维数组:

matrix = [[1, 2], [3, 4], [5, 6], [7, 8]]
flattened = [x for row in matrix for x in row]
print(flattened)

输出结果为:

[1, 2, 3, 4, 5, 6, 7, 8]

在上面的例子中,我们使用了两个 for 循环:

  • 外层循环用于遍历 matrix 中的每一行;
  • 内层循环用于遍历每一行中的每一个元素。
使用函数操作列表元素

列表推导还支持对元素进行函数操作。例如,我们可以使用列表推导来将字符串列表中的每个字符串都转换为大写:

words = ['hello', 'world', 'python']
upper_words = [word.upper() for word in words]
print(upper_words)

输出结果为:

['HELLO', 'WORLD', 'PYTHON']

在上面的例子中,word.upper() 转换每个字符串为大写,并将新字符串添加到 upper_words 列表中。

总结

通过本文的介绍,我们了解了列表推导的基本语法和常见用法。它是Python语言中快速创建列表的一种简洁易读的方式。当我们需要生成一个简单的列表或者对一个现有列表进行操作时,都可以使用列表推导来简化我们的代码。