我想得到一个字符串最大出现的第一个字母.
例如:
"google" -> g
"azerty" -> a
"bbbaaa" -> b
我已经有一个工作代码,使用OrdererDict()来避免自动密钥重新排列:
from collections import OrderedDict
sentence = "google"
d = OrderedDict()
for letter in sentence:
if letter not in d.keys():
d[letter] = sentence.count(letter)
print(max(d, key=d.get)) # g
但我正在寻找一种可能的单线或更优雅的解决方案(如果可能的话).
注意:
我已经尝试使用Counter()但它不起作用,因为python中的dict不记得键被插入的顺序.
例如
from collections import Counter
sentence = "bbbaaa"
c = Counter(sentence)
print(c.most_common()[0][0]) # have 50% chances of printing 'a' rather than 'b'.
奖金问题:有人能解释为什么OrderedDict()不是python中的默认字典行为吗?