下面我将为你详细讲解Python中将多维list转为一维list的方法,并提供两个示例说明。
方法一:循环遍历
循环遍历是实现多维list转一维list的最基本方法。具体步骤如下:
- 定义一个空的一维list
result
,用于存放所转换得到的结果。 - 使用for循环,将多维list中的每一个元素取出来,判断其是否还是一个列表。如果是列表,则将该列表中的元素继续逐一取出并添加到
result
列表中,如果不是则直接添加到result
中。 - 返回
result
列表。
下面是具体的python
代码实现:
def flatten_list(lst):
res = []
for i in lst:
if isinstance(i, list):
res.extend(flatten_list(i))
else:
res.append(i)
return res
方法二:迭代器
Python内置的itertools
模块中提供了chain
函数,可以将多个可迭代对象拼接起来,从而实现多维list转换为一维list的效果。
具体步骤如下:
- 导入
itertools
模块。 - 将多维list中的所有元素转化为可迭代对象。
- 使用
itertools.chain(*lst)
函数将各个可迭代对象拼接起来。 - 将拼接好的对象装换成list返回。
下面是具体的python
代码实现:
import itertools
def flatten_list(lst):
return list(itertools.chain(*lst))
示例
现在我们来使用两个具体的示例来演示一下上面两种方法。
示例1:将以下二维列表lst
转换成一维列表。
lst = [[1, 2], [3, [4, 5]], [6, [7, 8, [9, 10]]]]
使用方法一实现:
res = flatten_list(lst)
print(res)
输出结果为:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
使用方法二实现:
res = flatten_list(lst)
print(res)
输出结果为:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
示例2:将以下三维列表lst
转换成一维列表
lst = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
使用方法一实现:
res = flatten_list(lst)
print(res)
输出结果为:
[1, 2, 3, 4, 5, 6, 7, 8]
使用方法二实现:
res = flatten_list(lst)
print(res)
输出结果为:
[1, 2, 3, 4, 5, 6, 7, 8]
以上就是将多维list转换成一维list的两种实现方法和示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现将读入的多维list转为一维list的方法 - Python技术站