gpt4 book ai didi

python - 如何获取列表列表的所有迭代?

转载 作者:行者123 更新时间:2023-12-04 15:34:48 25 4
gpt4 key购买 nike

假设我有列表:

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]]]

关于python - 如何获取列表列表的所有迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60107017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com