Python列表中的元组列表

Python列表中的元组列表,python,Python,输入:列表列表[[1,2,3],[5,6]]类似的内容 所需输出:元组组合列表[(1)、(1,2)、(1,2,3)、(5)、(5,6)] 我可以想象如何解决这个问题,但我想Python有一些方便的内置函数,可以解决这个问题。虽然没有内置函数,但通过列表理解很容易实现这个结果: [tuple(seq[:i]) for seq in list_of_lists for i in range(1,len(seq)+1)] 如果您确实需要每个子列表的所有组合,可以使用来帮助: 这使得: out ==

输入:列表列表
[[1,2,3],[5,6]]
类似的内容

所需输出:元组组合列表
[(1)、(1,2)、(1,2,3)、(5)、(5,6)]


我可以想象如何解决这个问题,但我想Python有一些方便的内置函数,可以解决这个问题。虽然没有内置函数,但通过列表理解很容易实现这个结果:

[tuple(seq[:i]) for seq in list_of_lists for i in range(1,len(seq)+1)]
如果您确实需要每个子列表的所有组合,可以使用来帮助:

这使得:

out == [(1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3),   
        (4,), (5,), (4, 5)]

您可以修改它,只过滤匹配每个子列表开头的元组,但是如果这就是您想要的,那么Bakuriu的解决方案会更有效

要知道需要改进的标准是什么(因此我们知道您尝试了一些东西),您当前的解决方案是什么?
[tuple(seq[:i])用于范围为(1,len(seq)+1)的列表中的seq;
我的解决方案是用于嵌套列表的循环,以便在每次迭代中创建元组。新的元组将与前一个元组一样创建,并添加listBakuru中的新元素,非常感谢。从他的示例中,我认为他不需要所有组合,只需要“起始段”。
out == [(1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3),   
        (4,), (5,), (4, 5)]