Python - 列表元组列表的元组列表的理解列表

时间:2017-06-25 12:51:02

标签: python list-comprehension

如何使用列表推导将元组列表列表转换为元组列表?

示例:

[[(1, 2, 3), (4, 5, 6)], [(7, 8, 9), (10, 11, 12)]]转换为[(1, 2, 3), (4, 5, 6), (7, 8, 9), (10, 11, 12)]

1 个答案:

答案 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问题中,您还可以看到一些时间。

相关问题