有的时候写程序需要处理各种简单而又复杂的数据结构的转变,而这个时候就会想用那种方式更简洁有效。将嵌套列表转变为非嵌套列表也是时不时的需求,下面就用一种简单快捷的方式实现目标。
第一种方法是通过调用python的itertools包非常简单明了。a的输出结果为[1,2,3,4,5,6,7,8,9]
import itertools
a = [[1,2,3],[4,5,6], [7], [8,9]]
out = list(itertools.chain.from_iterable(a))
第二种方式就是我们正常逻辑写的代码。这个方法的思想就是新建一个list变量t,然后遍历list变量a,将a的每一个嵌套列表重新写入list变量t。a的输出结果为[1,2,3,4,5,6],若a的值是方法1,则输出为[1,2,3,4,5,6,7,8,9]。
a=[[1,2],[3,4],[5,6]]
t=[]
[t.extend(i) for i in a]