Python 如何保留字典中项目的顺序?

Python 如何保留字典中项目的顺序?,python,python-2.7,Python,Python 2.7,代码: 为什么OrderedDict()在此代码中不起作用 在下一行: import os import collections Parameters = collections.OrderedDict() Parameters = {"current": '50mA', "voltage": '230', "resistance": '40 ohms'} Parameters["inductance"] = "37" Parameters["power"] =

代码:

为什么OrderedDict()在此代码中不起作用

在下一行:

import os
import collections

Parameters = collections.OrderedDict()
Parameters = {"current": '50mA', "voltage": '230', "resistance": '40 ohms'}                
Parameters["inductance"] = "37"
Parameters["power"] = "100 watt"

print Parameters

o/p:
{'current': '50mA', 'power': '100 watt', 'voltage': '230', 'inductance': '37', 'resistance': '40 ohms'}
参数
不是一个命令,而是一个简单的命令。 只需将其更改为以下内容:

Parameters = {"current": '50mA', "voltage": '230', "resistance": '40 ohms'}

替换了
OrderedDict
对象:

Parameters["current"] ='50mA'
Parameters["voltage"] ='230'
Parameters["resistance"] ='40 ohms'
看到第二行了吗?现在,
参数
被绑定到一个常规字典,而不是第一行的
orderedict()

以键值对序列的顺序传入元素:

Parameters = collections.OrderedDict()
Parameters = {"current": '50mA', "voltage": '230', "resistance": '40 ohms'}                
演示:


因为你实际上创建了两个对象。首先,您要创建OrderedICT:

>>> import collections
>>> Parameters = collections.OrderedDict(
...     (("current", '50mA'), ("voltage", '230'), ("resistance", '40 ohms'))
... )
>>> Parameters["inductance"] = "37"
>>> Parameters["power"] = "100 watt"
>>> Parameters
OrderedDict([('current', '50mA'), ('voltage', '230'), ('resistance', '40 ohms'), ('inductance', '37'), ('power', '100 watt')])
然后继续使用变量名并创建一个普通dict,它不包含顺序

Parameters = collections.OrderedDict()
您只需在每行中添加一个变量

Parameters = {"current": '50mA', "voltage": '230', "resistance": '40 ohms'} 

诸如此类。

因为您没有使用它。有关OrderedICT的用法,请参见示例:是的,我弄错了
Parameters = {"current": '50mA', "voltage": '230', "resistance": '40 ohms'} 
Parameters = collections.OrderedDict()
Parameters["inductance"] = "37"
Parameters["power"] = "100 watt"