列表是有序且可更改的集合。在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])