如何使用列表推导将元组列表列表转换为元组列表?
示例:
将[[(1, 2, 3), (4, 5, 6)], [(7, 8, 9), (10, 11, 12)]]
转换为[(1, 2, 3), (4, 5, 6), (7, 8, 9), (10, 11, 12)]
答案 0 :(得分:2)
你可以这样做,使用列表理解:
list_ = [[(1, 2, 3), (4, 5, 6)], [(7, 8, 9), (10, 11, 12)]]
flat_list = [item for sublist in list_ for item in sublist]
print(flat_list)
或作为一项功能:
def flat_list(list_):
return [item for sublist in list_ for item in sublist]
if __name__ == '__main__':
print(flat_list([[(1, 2, 3), (4, 5, 6)], [(7, 8, 9), (10, 11, 12)]]))
另一种常见的方法是使用itertools
模块:
def flat_list(list_):
return list(itertools.chain.from_iterable(list_))
从链接的SO问题中,您还可以看到一些时间。