我有一个整数数组 [1, 2, 3]
,我需要返回该数组的连续子数组的所有可能组合。
[[1],[2],[3],[1,2],[2,3],[1,2,3]]
我该如何用 python 处理它?一种方法是有 2 个循环和数组本身,但应该有更好的方法。
原文由 Michael 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个整数数组 [1, 2, 3]
,我需要返回该数组的连续子数组的所有可能组合。
[[1],[2],[3],[1,2],[2,3],[1,2,3]]
我该如何用 python 处理它?一种方法是有 2 个循环和数组本身,但应该有更好的方法。
原文由 Michael 发布,翻译遵循 CC BY-SA 4.0 许可协议
一线解决方案(我不知道对你来说“更好的方式”是什么意思)
L = [1,2,3]
[L[i:i+j] for i in range(0,len(L)) for j in range(1,len(L)-i+1)]
L=[1,2,3,4]
[L[i:i+j] for i in range(0,len(L)) for j in range(1,len(L)-i+1)]
你得到,
[[1], [1, 2], [1, 2, 3], [2], [2, 3], [3]]
[[1],
[1, 2],
[1, 2, 3],
[1, 2, 3, 4],
[2],
[2, 3],
[2, 3, 4],
[3],
[3, 4],
[4]]
原文由 Jose Ricardo Bustos M. 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答2.7k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
4 回答1.5k 阅读
3 回答1.4k 阅读
2 回答1k 阅读✓ 已解决
简化 Inspector 的解决方案:
一个完全不使用循环的解决方案: