📅  最后修改于: 2023-12-03 15:04:02.838000             🧑  作者: Mango
列表理解是 Python 中一种强大的构造列表的方法。使用列表理解,可以用一行代码创建新列表,而不需要使用循环语句和 append() 方法。在本文中,我们将介绍如何使用列表理解以及其使用案例。
列表理解由以下三个主要组件组成:
基本语法如下所示:
[expression for variable in iterable]
示例代码:
# 创建一个新列表,其中每个元素均为原始列表的平方值
origin_list = [1, 2, 3, 4, 5]
new_list = [x**2 for x in origin_list]
print(new_list)
# output: [1, 4, 9, 16, 25]
您可以使用条件语句向列表理解中添加条件。例如,如果要创建一个新列表,其中只包含偶数,则可以添加 if 语句。
示例代码:
# 创建一个新列表,其中只包含原始列表中的偶数
origin_list = [1, 2, 3, 4, 5]
new_list = [x for x in origin_list if x % 2 == 0]
print(new_list)
# output: [2, 4]
ipadout:
expression
就是输入序列的每一个值进行的操作或表达式,例如$x**2$variable
就是在循环中用来遍历输入序列的变量,例如xiterable
就是要迭代的序列,可以是任意支持迭代的类型另外,您也可以使用 else 子句添加另一个表达式。
示例代码:
# 创建一个新列表,如果原始列表中的元素为偶数,则将其平方;否则,减去1并将其平方。
origin_list = [1, 2, 3, 4, 5]
new_list = [x**2 if x % 2 == 0 else (x-1)**2 for x in origin_list]
print(new_list)
# output: [1, 4, 4, 16, 16]
您可以在列表理解中嵌套一个或多个列表理解以创建更复杂的表达式。
示例代码:
# 创建一个新列表,其中包含原始列表和其平方值的所有组合
origin_list = [1, 2, 3]
new_list = [(x, x**2) for x in origin_list]
print(new_list)
# output: [(1, 1), (2, 4), (3, 9)]
示例代码:
# 创建一个新列表,其中包含原始列表两两元素的合并
origin_list_1 = ['a', 'b', 'c']
origin_list_2 = [1, 2, 3]
new_list = [(x, y) for x in origin_list_1 for y in origin_list_2]
print(new_list)
# output: [('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3), ('c', 1), ('c', 2), ('c', 3)]
列表理解是 Python 中一个非常强大的特性,可以让您使用简单的一行代码创建新列表。它的语法简单易懂,灵活多变,能够处理多个输入和嵌套列表。列表理解在数据科学、机器学习等领域得到广泛使用,是每个 Python 开发人员必须掌握的基础知识。
if
子句用于 if 操作,else
子句用于 else 操作。