小编Nya*_*ama的帖子

Python按字符串排序字典可能不稳定?(在Hackerrank)

我正在使用Hackerrank进行Python 3学习.

最常见的任务中,您将获得一个仅包含小写英文字符的字符串,您需要在该字符串中找到前三个最常见的字符.

我遇到了一些问题.

我对此问题的解决方案如下:

#!/bin/python3
import sys

if __name__ == "__main__":
  s = input().strip()
  ch_dict = {}
  for ch in s:
      if ch in ch_dict : ch_dict[ch] +=1
      else: ch_dict[ch] = 1

  result = sorted(ch_dict.items(),key=lambda d:d[1],reverse=True)
  for i in result:
      if i[1] != 1:
          print(" ".join(map(str,i)))
Run Code Online (Sandbox Code Playgroud)

当我在本地环境中测试此代码时,它可以工作!

但在线测试中,它可能会失败!

对于此输入:

aabbbccde
Run Code Online (Sandbox Code Playgroud)

我提交了很多次,有时得到这样的正确答案:

b 3
a 2
c 2
Run Code Online (Sandbox Code Playgroud)

并且还可以得到这个:

b 3
c 2
a 2
Run Code Online (Sandbox Code Playgroud)

看起来好像不稳定?或者我的代码有什么关系?或者在Hackerrank环境中出了什么问题?

我怎样才能保证输出?

python sorting dictionary

3
推荐指数
1
解决办法
442
查看次数

标签 统计

dictionary ×1

python ×1

sorting ×1