【发布时间】:2022-11-24 15:23:58
【问题描述】:
我只是想澄清一下我是编码新手。 我正在尝试解决一个问题集,该问题集计算字符串中字符的出现次数并打印出 3 个最常出现的字符
这是我写的代码
s = input().lower()
b = []
for i in s:
templst = []
templst.append(i)
templst.append(s.count(i))
if templst not in b:
b.append(templst)
final = sorted(b, key=itemgetter(1),reverse=True)
print (final)
for i in final[:3]:
print(*i, sep=" ")
现在如果我给它一个输入
szrmtbttyyaymadobvwniwmozojggfbtswdiocewnqsjrkimhovimghixqryqgzhgbakpncwupcadwvglmupbexijimonxdowqsjinqzytkooacwkchatuwpsoxwvgrrejkukcvyzbkfnzfvrthmtfvmbppkdebswfpspxnelhqnjlgntqzsprmhcnuomrvuyolvzlni
最终的输出将是
[['o', 12], ['m', 11], ['w', 11], ['n', 11], ['t', 9], ['v', 9], ['i', 9], ['p', 9], ['s', 8], ['z', 8], ['r', 8], ['b', 8], ['g', 8], ['k', 8], ['y', 7], ['c', 7], ['q', 7], ['h', 7], ['a', 6], ['j', 6], ['u', 6], ['d', 5], ['f', 5], ['e', 5], ['x', 5], ['l', 5]
所以,出现次数最多的字符是
['o', 12], ['m', 11], ['w', 11], ['n', 11]
代替
['o', 12], ['m', 11], ['n', 11], ['w', 11]
并且由于“m”、“w”和“n”出现的次数相等,我如何在对第二个元素进行反向排序的同时按字母顺序对第一个元素进行排序
【问题讨论】:
标签: python arrays string list sorting