Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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,我想返回一个字典,其中的值是按值的降序长度排序的列表 前 必须给予 data = {'t': [4,5,6], 'r': [4,3],'n': [1,6]} 然后,在第一次排序之后,我希望按照字母顺序对相同长度的值进行排序,如 data = {'t': [4,5,6], 'n': [1,6], 'r': [4,3]} 有办法吗?您不能对常规Python字典进行排序。他们没有秩序。但是,您可以使用collections.OrderedDict: 结果是: OrderedDict([('t',

我想返回一个字典,其中的值是按值的降序长度排序的列表

必须给予

data = {'t': [4,5,6], 'r': [4,3],'n': [1,6]}
然后,在第一次排序之后,我希望按照字母顺序对相同长度的值进行排序,如

data = {'t': [4,5,6], 'n': [1,6], 'r': [4,3]} 

有办法吗?

您不能对常规Python字典进行排序。他们没有秩序。但是,您可以使用collections.OrderedDict:

结果是:

OrderedDict([('t', [4, 5, 6]), ('r', [4, 3]), ('n', [1, 6])])

lambda pair:lenpair[1]是键函数,因此给定一个键、值对,它返回值的长度。如果两个对的值长度相同,您还可以使用lenpair[1]键按字母顺序排序。

您无法对常规Python字典进行排序。他们没有秩序。但是,您可以使用collections.OrderedDict:

结果是:

OrderedDict([('t', [4, 5, 6]), ('r', [4, 3]), ('n', [1, 6])])

lambda pair:lenpair[1]是键函数,因此给定一个键、值对,它返回值的长度。如果两对的值长度相同,您也可以使用lenpair[1],key按字母顺序排序。

这个问题已经被问了好几次,例如,请参阅。但是如果您决定可以返回类似['t',[4,5,6],'n',[1,6],'r',[4,3]]的列表,那么这里的人可以提供帮助。这个问题已经被问了好几次,例如,请参阅。但是如果您决定可以返回类似['t'、[4,5,6]、'n'、[1,6]、'r'、[4,3]]的列表,那么这里的人可以提供帮助。我认为OP需要pair[0]或pair[0]。第二个元素是lower。我使用了-lenpair[1],pair[0]。低位为元组,不能反转。@DSM:我不确定键名或值是否会打破关系。我将省略这一部分,然后按字母顺序阅读句子,它是按值的长度,然后按键的字母顺序,但我可能误读了它,而且很可能还有其他未指定的标准。我认为OP需要pair[0]或pair[0]。第二个元素是lower。我使用了-lenpair[1],pair[0]。低位为元组,不能反转。@DSM:我不确定键名或值是否会打破关系。我就不谈这一部分了,我读字母顺序句子的方式是按值的长度,然后按键的字母顺序,但我可能会误读,而且很可能还有其他未指定的标准。。
OrderedDict([('t', [4, 5, 6]), ('r', [4, 3]), ('n', [1, 6])])