我在python中有这个词典;
d={}
d['b']='beta'
d['g']='gamma'
d['a']='alpha'
Run Code Online (Sandbox Code Playgroud)
当我打印字典;
for k,v in d.items():
print k
Run Code Online (Sandbox Code Playgroud)
我明白了
a
b
g
Run Code Online (Sandbox Code Playgroud)
好像python会自动对dict进行排序!我怎样才能获得原始的未排序列表?
迦特
Ski*_*ick 11
CPython实现细节:键和值以任意顺序列出,这是非随机的,在Python实现中各不相同,并且取决于字典的插入和删除历史.
您可以使用包含2元组的列表:
d = [('b', 'beta'), ('g', 'gamma'), ('a', 'alpha')]
Run Code Online (Sandbox Code Playgroud)
Wayne的答案概述了类似但更好的解决方案.
Way*_*ner 11
如前所述,dicts不会对您放入的项目进行排序或取消排序.检索它时如何排序是"神奇的".如果您想保留订单 - 或者不是 - 您还需要绑定列表或元组.
这将为您提供相同的dict结果以及保留订单的列表:
greek = ['beta', 'gamma', 'alpha']
d = {}
for x in greek:
d[x[0]] = x
Run Code Online (Sandbox Code Playgroud)
如果您不需要更改原始列表/订单,只需将[]更改为().
| 归档时间: |
|
| 查看次数: |
22748 次 |
| 最近记录: |