3 回答
TA貢獻1828條經(jīng)驗 獲得超3個贊
您可以將itertools.groupby與字典理解一起使用
mapping = {x[0]: idx for idx, group in enumerate(groupby(fruits_frequency.items(), lambda x: x[1])) for x in group[1]}
print(mapping)
輸出:
{'apple': 0, 'cherry': 1, 'banana': 1, 'mango': 2}
TA貢獻1853條經(jīng)驗 獲得超6個贊
mapping = dict((item[1][0], item[0]) for item in enumerate(sorted(fruits_frequency.most_common(), key=lambda y: (y[1], y[0]))))
fruits_frequency.most_common()通過使用排序的關(guān)鍵參數(shù)對零件進行排序:key=lambda y: (y[1], y[0])基本上首先按出現(xiàn)次數(shù)和字母順序排序。
TA貢獻1829條經(jīng)驗 獲得超7個贊
如果我明白你想要得到什么,你可能想得到一個不同值的排序列表,然后找到其中的值fruit_frequencies的索引。bananas
像這樣:
distinct_values = sorted(list(set(fruits_frequency.values())), reverse=True)
print(distinct_values.index(mapping["banana"]))
添加回答
舉報
