Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.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-ast.literal_eval()的结果不符合顺序_Python_Python 2.7 - Fatal编程技术网

Python-ast.literal_eval()的结果不符合顺序

Python-ast.literal_eval()的结果不符合顺序,python,python-2.7,Python,Python 2.7,使用ast.literal\u eval()函数时,我的字典的顺序发生了更改。 下面是我的节目, dicty="{'@#$':'Please enter a valid Email Address.','testuser1009131@,$%^*&@!$)(:;gmail.com':'Please enter a valid Email Address.','am@am.pm':'None'}" dictionary=ast.literal_eval(dicty) print dicti

使用ast.literal\u eval()函数时,我的字典的顺序发生了更改。 下面是我的节目,

dicty="{'@#$':'Please enter a valid Email Address.','testuser1009131@,$%^*&@!$)(:;gmail.com':'Please enter a valid Email Address.','am@am.pm':'None'}"
dictionary=ast.literal_eval(dicty)
print dictionary
我的输出:

{'testuser1009131@,$%^*&@!$)(:;gmail.com': 'Please enter a valid Email Address.', 'am@am.pm': 'None', '@#$': 'Please enter a valid Email Address.'}
预期产出:

{'@#$':'Please enter a valid Email Address.','testuser1009131@,$%^*&@!$)(:;gmail.com':'Please enter a valid Email Address.','am@am.pm':'None'}

python字典没有排序。。。不幸的是,要将其整理好,您需要编写自己的解析器或将输入格式转换为
json
,在这里您可以通过
json进行解析。加载
并提供
object\u pairs\u hook=collections.OrderedDict
…Dicts仅表示“此键是否有关联的值”和“如果有,是什么值?”。它们不表示它们存储的键值关联的任何排序。在Python2.7中确认了这种行为,但是这个python版本很快就会贬值。而且,我在Python3.6上进行了测试,输入的顺序是保留的。python字典没有顺序。。。不幸的是,要将其整理好,您需要编写自己的解析器或将输入格式转换为
json
,在这里您可以通过
json进行解析。加载
并提供
object\u pairs\u hook=collections.OrderedDict
…Dicts仅表示“此键是否有关联的值”和“如果有,是什么值?”。它们不表示它们存储的键值关联的任何排序。在Python2.7中确认了这种行为,但是这个python版本很快就会贬值。而且,我在Python3.6上进行了测试,输入的顺序是保留的。