📜  Python中的列表理解list comprehension(1)

📅  最后修改于: 2023-12-03 15:34:26.072000             🧑  作者: Mango

Python中的列表理解list comprehension

在Python中,列表理解(List Comprehension)是一种非常便捷的创建列表的方式。通过使用列表理解,您可以更加简洁快速地创建列表,并且减少代码的冗余度。

基本语法

列表理解的基本语法如下:

new_list = [expression for item in iterable if condition]

其中,expression表示在迭代过程中对每个元素所执行的操作,item表示每个元素,iterable表示进行迭代的对象,condition表示满足条件的元素会被添加到新列表中。

例如,如果您想要创建一个包含1到10的平方数的列表,可以使用以下代码:

squares = [x**2 for x in range(1, 11)]
print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
过滤数据

除了上述基本语法之外,您还可以使用if语句来过滤数据。例如,如果您只想要包含偶数的平方数,可以使用以下代码:

squares = [x**2 for x in range(1, 11) if x % 2 == 0]
print(squares) # [4, 16, 36, 64, 100]
嵌套循环

您还可以使用嵌套循环来创建更加复杂的列表。例如,如果您想要创建一个字符串列表,其中每个字符串是两个单词的组合,并且这两个单词来自两个不同的列表,可以使用以下代码:

fruits = ['apple', 'banana', 'cherry']
colors = ['red', 'yellow', 'pink']

combinations = [fruit + " " + color for fruit in fruits for color in colors]
print(combinations) # ['apple red', 'apple yellow', 'apple pink', 'banana red', 'banana yellow', 'banana pink', 'cherry red', 'cherry yellow', 'cherry pink']
使用函数

甚至还可以在列表理解中调用函数,例如:

def double(n):
    return n * 2

numbers = [1, 2, 3, 4, 5]
doubles = [double(number) for number in numbers]
print(doubles) # [2, 4, 6, 8, 10]
总结

在Python中,列表理解是一种非常强大的工具,可以帮助您更加快速便捷地创建列表。使用列表理解可以减少代码的冗余度,并且帮助您更容易地理解代码的含义。