说我有一本字典,然后我有一个列表,其中包含字典的键。有没有办法根据字典值对列表进行排序?基于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