2024-06-25 23:14:55 发布
网友
问题是如何找到字符串中出现频率最高的字符。最常出现的字符必须是降序输出。在并列的情况下,即发生相同的情况,必须按字母顺序输出相同频率的字符。你知道吗
例如:
s="aaccbba"
输出应该是
(('a',3),('b',2),('c',2))
而不是
(('a',3),('c',2),('b',2))
注意:您不应该使用控制流语句
我使用的python版本是2.7.5
我甚至试过用计数器,但没用。你知道吗
使用^{}:
>>> from collections import Counter >>> Counter("aaccbba").most_common() [('a', 3), ('c', 2), ('b', 2)]
输出可以排序:
>>> sorted(Counter("aaccbba").most_common(), key=lambda v: (-v[1], v[0])) [('a', 3), ('b', 2), ('c', 2)]
但实际上,先列出b和先列出c之间并没有真正的区别;否则它们是相等的。你知道吗
b
c
对输出进行排序会起到双重作用;Counter()已经为您对它的项目进行了排序,以上只是用稍微不同的标准再次对批次进行排序。你知道吗
Counter()
使用^{} :
输出可以排序:
但实际上,先列出
b
和先列出c
之间并没有真正的区别;否则它们是相等的。你知道吗对输出进行排序会起到双重作用;
Counter()
已经为您对它的项目进行了排序,以上只是用稍微不同的标准再次对批次进行排序。你知道吗相关问题 更多 >
编程相关推荐