龙空技术网

在 Python 中将多维列表平展为一维列表的方法

信息科技云课堂 305

前言:

现时姐妹们对“python列表二维”大约比较讲究,你们都需要学习一些“python列表二维”的相关文章。那么小编同时在网摘上收集了一些对于“python列表二维””的相关资讯,希望看官们能喜欢,各位老铁们一起来了解一下吧!

将多维列表平展为一维列表是一项经常用到的技术。如果不依赖外部模块,可以使用for循环、列表推导式等技术来转换 Python 列表。

例如:

list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

上面的列表包含三个子列表,我们需要将上面的列表转换为一维列表,如下所示:

list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]

那么,如何编写 Python 代码才能完成此操作?

使用 append() 方法转换列表

Python 中的 for 循环通过遍历每个子列表,然后迭代子列表中的每个元素。

使用列表的 append() 在一个新列表中追加所有元素。

list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]list2 = []for item in list1:    for i in item:        list2.append(i)print(list2)
使用列表推导式转换列表

我们使用列表推导式来转换列表。列表推导式循环访问list1中的每个子列表,然后循环访问每个子列表中的每个元素,就像前面的 for 循环示例一样。

列表推导式和 for 循环之间的主要区别在于,列表推导式在一行中完成所有操作,使代码更加紧凑。

list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]list2 = [i for item in list1 for i in item]print(list2)
使用 sum() 函数转换列表

你也可以使用 sum() 函数在 Python 中转换列表。sum() 函数是一个 Python 内置函数,对序列进行求和计算。可以与整数和浮点数等数值数据类型一起使用,也可以与列表一起使用。当与列表一起使用时,sum() 可以将列表连接在一起。

sum() 函数有两个参数:

第一个参数是可迭代的序列。

第二个参数是起始值。起始值是可选的,默认为 0。但是,由于我们使用的是列表而不是数字,因此我们必须提供与可迭代对象类型匹配的起始值。我们使用一个空列表 ([]) 作为起始值。

sum() 函数将list1中的每个列表与此起始值连接起来,从而实现转换列表。

list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]list2 = sum(list1, [])print(list2)

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

标签: #python列表二维