Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:基于元组值的排序字典。列表输出_Python_Sorting_Dictionary - Fatal编程技术网

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]
?此代码的工作原理与我运行它时希望的完全相同。。。