Python:基于元组值的排序字典。列表输出
我想根据元组值中的一个对字典进行排序。考虑下面的字典示例:Python:基于元组值的排序字典。列表输出,python,sorting,dictionary,Python,Sorting,Dictionary,我想根据元组值中的一个对字典进行排序。考虑下面的字典示例: my_dict = {"apple": (8, 1023), "ant": (3, 29883), "zebra": (4, 489)} 假设我想根据元组值中的第一个索引对它进行排序,在apple键的情况下,它将是数字8。所以我希望我的输出是 ["ant", "zebra", "apple"] 我知道我需要像这样的东西 x = sorted(my_dict, key = my_dict.get) 但正如您所猜测的,这对元组/列表
my_dict = {"apple": (8, 1023), "ant": (3, 29883), "zebra": (4, 489)}
假设我想根据元组值中的第一个索引对它进行排序,在apple
键的情况下,它将是数字8。所以我希望我的输出是
["ant", "zebra", "apple"]
我知道我需要像这样的东西
x = sorted(my_dict, key = my_dict.get)
但正如您所猜测的,这对元组/列表值不起作用。任何帮助都将不胜感激 这个呢:
>>> my_dict = {"apple": (8, 1023), "ant": (3, 29883), "zebra": (4, 489)}
>>> sorted(my_dict,key=lambda k: my_dict[k][0])
['ant', 'zebra', 'apple']
不确定您是否找到了答案,但下面的代码将返回按
元组[0]
排序的词典:
sorted_dict = []
my_dict = {"apple": (8, 1023), "ant": (3, 29883), "zebra": (4, 489)}
my_dict_copy = sorted(my_dict.items(),key=lambda x: x[1][0])
for i in my_dict_copy:
sorted_dict.append(i[0])
key=lambda k:my_dict[k][some index]
?此代码的工作原理与我运行它时希望的完全相同。。。