python dict()默认排序

时间:2017-03-12 03:07:10

标签: python-3.x sorting dictionary

我正在将hl7解析为json。我打开文件并创建了一个数组,其中每一行都是一个像这样的数组......

[['MSH', '^~\\&', 'ADM', 'SHM', 'ALL', 'ALL', '20090101010000', 'ORU^R01', 'IHS-20090101010000.00830', 'P', '2.1\n'],
['PID', '1', '9081717170722.97472', 'RUBIE^ALBERT^ALLEN^^^AS', '19930812', 'M', '3250 DEL PASO BLVD^BUTTE^CHICO^CA^95973^USA', '393-41-9499', '393-41-9499\n']]

我创建了几个函数来解析,删除空元素等等。在这个过程的最后,我迭代矩阵并创建了一个字典。但是,我丢失了字典中每一行的顺序......

{'IN1.0': {'IN1.0.0': 'IN1',
       'IN1.0.1': '1',
       'IN1.0.2': 'UNIT HLTH',
       'IN1.0.3': 'RUBIE^ALBERT^ALLEN^^^AS',
       'IN1.0.4': 'SELF'},
'MSH.0': {'MSH.0.0': 'MSH',
       'MSH.0.1': '^~\\&',
       'MSH.0.10': '2.1',
       'MSH.0.2': 'ADM',
       'MSH.0.3': 'SHM',
       'MSH.0.4': 'ALL',
       'MSH.0.5': 'ALL',
       'MSH.0.6': '20090101010000',
       'MSH.0.7': 'ORU^R01',
       'MSH.0.8': 'IHS-20090101010000.00830',
       'MSH.0.9': 'P'},

MSH应该是对象中的第一行,它是第二行。另请注意,MSH.0.1后跟MSH.0.10。看起来Python中的字典默认是对键进行排序。如果是这样......我如何将订单保持为FIFO

0 个答案:

没有答案