📅  最后修改于: 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语言中快速创建列表的一种简洁易读的方式。当我们需要生成一个简单的列表或者对一个现有列表进行操作时,都可以使用列表推导来简化我们的代码。