說我有一本字典,然後我有一個列表,其中包含字典的鍵。有沒有辦法根據字典值對列表進行排序?基於Python中的字典值對列表進行排序?
我一直想這樣的:
trial_dict = {'*':4, '-':2, '+':3, '/':5}
trial_list = ['-','-','+','/','+','-','*']
我去使用:
sorted(trial_list, key=trial_dict.values())
,並得到:
TypeError: 'list' object is not callable
然後我就去創造這可能是一個功能用trial_dict.get()
調用:
def sort_help(x):
if isinstance(x, dict):
for i in x:
return x[i]
sorted(trial_list, key=trial_dict.get(sort_help(trial_dict)))
我不認爲sort_help
函數對排序有任何影響。我不確定使用trial_dict.get()
是否是正確的方法。
Oi,停止跳出我正在回答的問題並給出更聰明的答案! :) 更嚴重:這個答案與我的行爲有一個不同之處。如果trial_values包含的值不是trial_dict的關鍵字,Mine會發出異常,而thg會默默地將該值排序在前面。根據具體情況可能是合適的。 –
@ thg435我應該雙重檢查文檔,我明顯誤解'.get'。 – tijko
@MarkAmery:[你很好,小子,真好。但是隻要我在身邊,你永遠是第二好的,看看?](http://www.imdb.com/title/tt0110475/quotes))) – georg