我在做一个程序,输入一系列的数字,然后取其中的6个组合成不同的彩票号码。当我创建不同的组合时,我想删除重复项,这样每个组合只打印一次。 这就是我想要的:
combo_list = [1 2 3 4 5 6 7]
输出应为:
^{pr2}$我正在使用代码:
final = []
for sublist in combo_list:
if sublist not in final:
final.append(sublist)
for item in final:
item = (sorted(item, key=int))
print (' '.join(str(n) for n in item))
但是,当我使用代码时,会得到一个有许多重复项的输出:
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 5 6
1 2 3 4 6 7
1 2 3 4 5 7
1 2 3 4 6 7
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 5 6
1 2 3 5 6 7
1 2 3 4 5 7
1 2 3 5 6 7
1 2 3 4 5 6
1 2 3 4 6 7
1 2 3 4 5 6
1 2 3 5 6 7
1 2 3 4 6 7
1 2 3 5 6 7
1 2 3 4 5 7
1 2 3 4 6 7
1 2 3 4 5 7
1 2 3 5 6 7
1 2 3 4 6 7
1 2 3 5 6 7
1 2 3 4 5 6
.
.
.
有什么想法,我必须改变每个组合只打印一次?在
如果我理解您的问题,请继续使用itertools模块中的combinations函数。在您的情况下,您将得到:
我想这就是你想要的。在
请记住,
combinations
函数的输出是一个生成器。在使用^{} 进行此操作:
结果应该是:
^{pr2}$如果以后需要打印数字,很容易:
您只需将源代码带到itertools.combinations然后:
相关问题 更多 >
编程相关推荐