Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Dictionary - Fatal编程技术网

Python 如何按键对字典进行排序,并返回包含键和值的整个字典?

Python 如何按键对字典进行排序,并返回包含键和值的整个字典?,python,list,dictionary,Python,List,Dictionary,以下是我所拥有的: dict = {'b':[456], 'a': [123]} sort_dict = sorted(dict.items(), key = str) return sort_dict 我的代码返回的内容: [('a', [123]), ('b', [456])] 我需要它返回的内容: {'a':[123], 'b':[456]} 我知道我可以做一个for循环或者其他什么来做一个新的dict,但是有没有其他更简单的方法呢?谢谢 from collections i

以下是我所拥有的:

 dict = {'b':[456], 'a': [123]}

 sort_dict = sorted(dict.items(), key = str)
 return sort_dict
我的代码返回的内容:

[('a', [123]), ('b', [456])]
我需要它返回的内容:

{'a':[123], 'b':[456]}
我知道我可以做一个for循环或者其他什么来做一个新的dict,但是有没有其他更简单的方法呢?谢谢

from collections import OrderedDict

>>> OrderedDict(sorted(d.items(), key=str))
OrderedDict([('a', [123]), ('b', [456])])
对于Python3.6+来说,这就足够了(有关更多详细信息,请阅读注释):

不要为变量命名
dict
list
str
等,因为这些是变量的名称

对于Python3.6+来说,这就足够了(有关更多详细信息,请阅读注释):


不要为变量命名
dict
list
str
等,因为这些是变量的名称

注意:此行为仅适用于Python3.6及更高版本(而且,尽管它碰巧在CPython上工作)。在3.6之前,
dict
顺序与键的创建顺序几乎没有关系(对于
str
键,不同的运行方式也不同)。注意:此行为仅适用于Python 3.6及以上版本(尽管它恰好在CPython上工作)。在3.6版本之前,
dict
顺序与键的创建顺序几乎没有关系(对于
str
键,运行顺序各不相同)。
d = {'b':[456], 'a': [123]}

>>> dict(sorted(d.items(), key=str))
{'a': [123], 'b': [456]}