JDM*_*JDM 1 python dictionary python-2.7
我知道通常字典中键/值的顺序是任意的.但是,如果您声明字典"longhand"(见下文)然后从不添加或删除任何键,这是否意味着密钥顺序将在您声明时保留?
我做了几个简短的实验,答案似乎是肯定的,但在我依靠这个之前,我想确定一下.
当我说"手写"时,我只是指一个明确的每个键和值的声明:
myDict = {key1: val1, key2: val2, key3: val3, .... }
Run Code Online (Sandbox Code Playgroud)
nne*_*neo 11
字典在Python中本质上是无序的.collections.OrderedDict如果您想保留订购,请使用.请注意,collections.OrderedDict保留插入顺序.
此外,还有一个反例,即密钥按声明顺序保存:
>>> {1:2, 4:5, 2:3}
{1: 2, 2: 3, 4: 5}
Run Code Online (Sandbox Code Playgroud)
字典键也不需要排序:
>>> {-1:-1, -2:-2, 1:1}
{1: 1, -2: -2, -1: -1}
Run Code Online (Sandbox Code Playgroud)
所以,除非你知道它是一个,否则不要依赖字典键的顺序OrderedDict.
| 归档时间: |
|
| 查看次数: |
164 次 |
| 最近记录: |