如何在Python中弄平浅表?

一个简单明了的解决方案是使用两个嵌套的for循环将子列表中的项目追加到平面列表中。

lst = [[10, 20, 30, 40], [50, 60, 70, 80], [90, 100, 110, 120]]
flatlist = []
for sublist in lst:
   for item in sublist:
      flatlist.append(item)
print (flatlist)

一个更紧凑和Pythonic的解决方案是使用chain()itertools模块中的函数。

>>> lst  =[[10, 20, 30, 40], [50, 60, 70, 80], [90, 100, 110, 120]]
>>> import itertools
>>> flatlist = list(itertools.chain(*lst))
>>> flatlist
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120]