Python - 展平 2D 列表的方法
列表是有序且可变的集合。在 Python 中,使用方括号编写列表。可以通过引用索引编号访问列表项。负索引意味着从末尾开始, -1 指代最后一个项。可以通过指定范围的起始和结束位置指定索引范围。指定范围时,返回值将是包含已指定项的新列表。
示例
# using chain.from_iterables
# import chain
from itertools import chain
ini_list = [[1, 2, 3],
[3, 6, 7],
[7, 5, 4]]
# printing initial list
print ("initial list ", str(ini_list))
# converting 2d list into 1d
# using chain.from_iterables
flatten_list = list(chain.from_iterable(ini_list))
# printing flatten_list
print ("final_result", str(flatten_list))
# using list comprehension
# import chain
from itertools import chain
ini_list = [[1, 2, 3],
[3, 6, 7],
[7, 5, 4]]
# printing initial list
print ("initial list ", str(ini_list))
# converting 2d list into 1d
# using list comprehension
flatten_list = [j for sub in ini_list for j in sub]
# printing flatten_list
print ("final_result", str(flatten_list))
# using functools.reduce
# import functools
from functools import reduce
ini_list = [[1, 2, 3],
[3, 6, 7],
[7, 5, 4]]
# printing initial list
print ("initial list ", str(ini_list))
# converting 2d list into 1d
# using functools.reduce
flatten_list = reduce(lambda z, y :z + y, ini_list)
# printing flatten_list
print ("final_result", str(flatten_list))
# using sum
ini_list = [[1, 2, 3],
[3, 6, 7],
[7, 5, 4]]
# printing initial list
print ("initial list ", str(ini_list))
# converting 2d list into 1d
flatten_list = sum(ini_list, [])
# printing flatten_list
print ("final_result", str(flatten_list))
ini_list=[[1, 2, 3],
[3, 6, 7],
[7, 5, 4]]
#Using lambda
flatten_list = lambda y:[x for a in y for x in flatten_list(a)] if type(y) is list else [y]
print("Initial list ",ini_list)
#priniting initial list
print("Flattened List ",flatten_list(ini_list))
# printing flattened list输出
('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]')
('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]')
('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]')
('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]')
('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]')
('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]')
('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]')
('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]')
('Initial list ', [[1, 2, 3], [3, 6, 7], [7, 5, 4]])
('Flattened List ', [1, 2, 3, 3, 6, 7, 7, 5, 4])
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP