python 中的嵌套列表推导式

pythonserver side programmingprogramming

嵌套列表是列表中的列表。Python 提供可优雅处理嵌套列表的功能,并应用常用函数来操作嵌套列表。在本文中,我们将了解如何使用列表推导式在 python 中创建和使用嵌套列表。

创建矩阵

创建矩阵涉及创建一系列行和列。我们可以使用 for 循环来创建矩阵行和列,方法是将一个带有 for 循环的 Python 列表放在另一个带有 for 循环的 Python 列表中。

示例

matrix = [[m for m in range(4)] for n in range(3)]
print(matrix)

运行上述代码得到以下结果:

[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]

从嵌套列表中过滤

我们可以通过在子列表中使用 for 循环来使用具有过滤功能的列表推导。下面我们有一个二维列表,其中一层子列表位于更大的列表中。我们从每个嵌套列表中访问选择性元素。通过使用过滤条件。

示例

years = [['January', 'February', 'March'], ['April', 'May', 'June'], ['July', 'August', 'September'],['October','November','December']]
# 嵌套列表推导式,带 if 条件
years = [years for sublist in years for years in sublist if len(years) <= 5]
print(years)

运行上述代码得到以下结果:

['March', 'April', 'May', 'June', 'July']

展平嵌套子列表

我们还可以通过创建一个不包含任何子列表的单个列表来获取嵌套列表并将其展平。

示例

nested_list = [[1] ,[17, 19], [21,23,25], [32,35,37,39]]
# 嵌套列表理解以展平给定的二维矩阵
flattened_list = [value for sublist in nested_list for value in sublist]
print(flattened_list)

运行上述代码得到以下结果:

[1, 17, 19, 21, 23, 25, 32, 35, 37, 39]

相关文章