【发布时间】:2015-06-13 17:55:54
【问题描述】:
对于这个输入列表
[0, 1, 2, 3, 4, 5]
我需要这个输出
[[0, 2],
[0, 3],
[0, 4],
[0, 5],
[1, 3],
[1, 4],
[1, 5],
[2, 4],
[2, 5],
[3, 5],
[0, 2, 3],
[0, 3, 4],
[0, 4, 5],
[1, 3, 4],
[1, 4, 5],
[2, 4, 5],
[0, 2, 3, 4],
[0, 3, 4, 5],
[1, 3, 4, 5]]
我试过这段代码,
for k in range( 0, 5 ):
for i in range( len( inputlist ) - ( 2 + k ) ):
print [inputlist[k], inputlist[i + ( 2 + k )]]
for i in range( len( inputlist ) - ( 3 + k ) ):
print [inputlist[k], inputlist[i + ( 2 + k )], inputlist[i + ( 3 + k )]]
for i in range( len( inputlist ) - ( 4 + k ) ):
print [inputlist[k], inputlist[i + ( 2 + k )], inputlist[i + ( 3 + k )], inputlist[i + ( 4 + k )]]
我需要跳过的模式, 1,2,3 --> 1,3 1,2,3,4 --> [1,3],[1,4],[2,4]
即,第一个元素,第三个元素等等。
如何概括这个?感谢您的帮助
【问题讨论】:
-
对于 1,2,3,4 你不需要 [1,3,4] 吗?
标签: python list list-comprehension