0

我不希望能够查看 2 个或更多数字是否相同,然后将它们添加到列表中。这是我可以描述我不会做的最好的方式。

 deck=["3","1","3","3"]
 print(deck)
if deck[0]==deck[1]:
  global thesame
  thesame=[deck[0],deck[1]]
else:
 if deck[0]==deck[2]:
    thesame=[deck[0],deck[2]]
 else:
    if deck[0]==deck[3]:
            thesame=[deck[0],deck[3]]
    else:
        if deck[0]==deck[1]and deck[0] ==  deck[2]:
            thesame=[deck[0],deck[1],deck[2]]
        else:
            if deck[0]==deck[1]and deck[0] ==   deck[3]:
                thesame=[deck[0],deck[1],deck[3]]
            else:
                if deck[0]==deck[2] and deck[0] == deck[3]:
                    thesame=[deck[0],deck[1],deck[2]]

 print(thesame)

任何帮助,将不胜感激 !

4

1 回答 1

0

您的代码仅在数字与第一个数字相同时进行测试。

the_same = []
for i in deck[1:]:
    if i == deck[0]:
        the_same.append(i)

如果要测试是否有重复的数字,可以使用计数器。

from collections import Counter
counter = Counter(deck)
the_same = []
for i in counter:
    if counter[i] > 1:
        the_same.extend([i] * counter[i])
于 2013-08-09T09:37:29.433 回答