相等的输入数据上的相等代码具有不同的输出

时间:2019-10-10 13:58:32

标签: python collections

我有代码

from collections import Counter
wr = [''.join(set(input())) for i in range(int(input()))]
wr = Counter(wr)
print(max(wr.values()))

然后输入数据

8
disease
burned
viewer
praised
despair
burden
diapers
review

输出必须为3,但有时输出为2

proof

我该如何解决?


Python 3.6.8

1 个答案:

答案 0 :(得分:1)

问题出在set的调用上,因为它会创建字母的无序集合。通过在一组唯一字母上调用sorted,将创建唯一字母的有序列表:

from collections import Counter
wr = [''.join(sorted(set(input()))) for i in range(int(input()))]
wr = Counter(wr)
print(max(wr.values()))

现在每次运行都会产生正确的结果。

相关问题