3 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以將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貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
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ù)對(duì)零件進(jìn)行排序:key=lambda y: (y[1], y[0])
基本上首先按出現(xiàn)次數(shù)和字母順序排序。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果我明白你想要得到什么,你可能想得到一個(gè)不同值的排序列表,然后找到其中的值fruit_frequencies的索引。bananas
像這樣:
distinct_values = sorted(list(set(fruits_frequency.values())), reverse=True)
print(distinct_values.index(mapping["banana"]))
添加回答
舉報(bào)