假设我有清单:
a = [[1,2], [3,4,5], [6,7,8,9]]
我正在寻找这样的列表的所有迭代:
[[1], None, None]
[[1,2], None, None]
[[1,2], [3], None]
[[1,2], [3,4], None]
[[1,2], [3,4,5], None]
[[1,2], [3,4,5], [6]]
[[1,2], [3,4,5], [6,7]]
[[1,2], [3,4,5], [6,7,8]]
[[1,2], [3,4,5], [6,7,8,9]]
最终输出是这些迭代的列表:
result = [[[1], None, None], [[1,2], None, None], ... , [[1,2], [3,4,5], [6,7,8,9]]]
您可以使用列表理解:
a = [[1,2], [3,4,5], [6,7,8,9]]
new_a = [a[:i]+[b[:k]]+[None]*(len(a)-i-1) for i, b in enumerate(a) for k in range(len(b)+1) if b[:k]]
输出:
[[[1], None, None],
[[1, 2], None, None],
[[1, 2], [3], None],
[[1, 2], [3, 4], None],
[[1, 2], [3, 4, 5], None],
[[1, 2], [3, 4, 5], [6]],
[[1, 2], [3, 4, 5], [6, 7]],
[[1, 2], [3, 4, 5], [6, 7, 8]],
[[1, 2], [3, 4, 5], [6, 7, 8, 9]]]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句