如何在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]