在Python中删除重复列表

我正在做一个程序,该程序输入一系列数字,并使用其中的6个数字进行彩票数字的不同组合。创建不同的组合时,我想删除重复项,以便每个组合仅打印一次。这就是我想发生的事情:


combo_list = [1 2 3 4 5 6 7]

输出应为:


1 2 3 4 5 6

1 2 3 4 5 7

1 2 3 4 6 7

1 2 3 5 6 7

1 2 4 5 6 7

1 3 4 5 6 7

2 3 4 5 6 7

我使用的代码是:


   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

.

.

.

关于每个组合仅需打印一次的更改,我有什么想法吗?


慕神8447489
浏览 240回答 3
3回答

守着星空守着你

我正在做一个程序,该程序输入一系列数字,并使用其中的6个数字进行彩票数字的不同组合。创建不同的组合时,我想删除重复项,以便每个组合仅打印一次。这就是我想发生的事情:combo_list = [1 2 3 4 5 6 7]输出应为:1 2 3 4 5 61 2 3 4 5 71 2 3 4 6 71 2 3 5 6 71 2 4 5 6 71 3 4 5 6 72 3 4 5 6 7我使用的代码是:   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 61 2 3 4 5 71 2 3 4 5 61 2 3 4 6 71 2 3 4 5 71 2 3 4 6 71 2 3 4 5 61 2 3 4 5 71 2 3 4 5 61 2 3 5 6 71 2 3 4 5 71 2 3 5 6 71 2 3 4 5 61 2 3 4 6 71 2 3 4 5 61 2 3 5 6 71 2 3 4 6 71 2 3 5 6 71 2 3 4 5 71 2 3 4 6 71 2 3 4 5 71 2 3 5 6 71 2 3 4 6 71 2 3 5 6 71 2 3 4 5 6...关于每个组合仅需打印一次的更改,我有什么想法吗?

四季花海

 comb_list= range(1, 8) rip_idx = 6 for idx in range(len(comb_list)):    final = comb_list[0:rip_idx -idx ] + comb_list[rip_idx- idx + 1: ]    print final一种无需任何库即可解决的简单方法
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python