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,我正在按字母顺序对这本词典进行排序。我正在按顺序循环浏览,但最后的字典c没有排序。我不明白python是如何分配字典键的顺序的。为什么维持原来的秩序??我如何按字母顺序按键排序 a={'BE': 1, 'BC': 2, 'BO': 3, 'BI': 4, 'BK': 5, 'AQ': 6, 'AS': 7, 'BQ': 8, 'AW': 9, 'AY': 10} b=sorted(a) c={} for i in b: print i c[i]=a[i] 我使用的是Pyth

我正在按字母顺序对这本词典进行排序。我正在按顺序循环浏览,但最后的字典
c
没有排序。我不明白python是如何分配字典键的顺序的。为什么维持原来的秩序??我如何按字母顺序按键排序

a={'BE': 1, 'BC': 2, 'BO': 3, 'BI': 4, 'BK': 5, 'AQ': 6, 'AS': 7, 'BQ': 8, 'AW': 9, 'AY': 10}

b=sorted(a)

c={}
for i in b:
    print i
    c[i]=a[i]

我使用的是Python2.7,一般来说,字典/哈希表/哈希映射是无序的。要对其进行排序,您可能需要首先将其转换为元组列表或排序的内容,然后再对其进行排序


从python3.7开始,字典现在是

可能是一个愚蠢的问题,但您使用的是python3.6(或更高版本),不是吗?在较旧的python版本中,字典不按顺序排列,请参见好的,在您的python版本中字典不按顺序排列。通常不建议同时使用键顺序和dict,您可能需要使用
OrderedDict
最明显的选择是……”OrderedDict是一种能够记住键首次插入顺序的dict“因此,您仍然需要先对其进行排序…”?您需要循环排序后的键,然后插入
OrderedDict
。结果应该和我想象的一样。还是我误会了?你只招待了开胃菜。人们期待一顿三道菜的晚餐。