我有这个清单:
List = [1, 2, 3]
…我想打印出所有可能的组合,这样输出结果就像:
[1]
[1,2]
[1, 2, 3]
[2]
[2, 3]
[3]
到目前为止,我的代码是:
E=[]
i=0
for seq in L[i:]:
E.append(seq)
i += 1
print(E)
它给出了我的前3个输出。有没有一种方法让我循环它,使索引上升1,这样我就可以得到我想要的输出
编辑;所以我基本上想写一段代码来总结这一点:
List = [1, 2, 3]
E = []
F = []
G = []
for seq in List[0:]:
E.append(seq)
print(E)
for seq in List[1:]:
F.append(seq)
print(F)
for seq in List[2:]:
G.append(seq)
print(G)
我非常想知道是否可以循环索引,这样就不必创建多个for循环,也不必将其应用于更长的列表
您正在创建长度递增的组合,因此使用长度范围为1到
len(inputlist)
的itertools.combinations()
:combinations()
生成元组,但如果必须为每个元组提供可变序列,则这些元组通常会转换为列表相关问题 更多 >
编程相关推荐