字典做得很好。
> characters
# {'s': 8, ' ': 7, 'l': 6, 'e': 6, 'a': 3, 'h': 3, 'y': 2, 'b': 1, 't': 1, 'o': 1, 'r': 1}
按值对那些字典键(元组)进行排序。
characters.items() 是字典中的项目(键,值)
元组。
sorted(dictionary.items(), key=function) 将对这些元组进行排序,但我们需要一个 key 函数来告诉 sorted如何对它们进行排序。
我们定义了一个 lambda 函数来按item[1] 排序。 lambda 函数接受一个 (key, value) 元组并返回 (key, value)[1],即值。这样sorted() 就会知道按元组中的第二项排序。
这是您的排序元组:
> sorted(characters.items(), key=lambda x: x[1])
# [('b', 1), ('t', 1), ('o', 1), ('r', 1), ('y', 2), ('a', 3), ('h', 3), ('l', 6), ('e', 6), (' ', 7), ('s', 8)]
选择最后一个元组[-1]。选择密钥。[0]
> best_char = sorted(characters.items(), key=lambda x: x[1])[-1][0]
# s
> worst_char = sorted(characters.items(), key=lambda x: x[1])[0][0]
# b or t or o or r. There are four characters that appear only once.