我对以下内容得到的输出有点困惑。
我不明白循环的执行顺序。
domains = { "de": "Germany", "sk": "Slovakia", "hu": "Hungary",
"us": "United States", "no": "Norway" }
for key in domains:
print key
这里的输出是
sk
de
no
us
hu
but not
de
sk
hu
us
no
同样,这里
num = {1:"one",4:"two",23:"three",10:"four"}
for key in num:
print key
output is
1
10
4
23
but not
1
4
23
10
感谢您的帮助
Python 字典不保留顺序:
键和值以任意顺序列出,该顺序不是随机的,因 Python 实现而异,并且取决于字典的插入和删除历史记录
Python 中的字典被实现为哈希表启用快速查找和成员资格测试,并按照该表中列出的项目的顺序枚举键或值;它们插入的位置取决于键的哈希值以及之前是否已将任何内容哈希到同一插槽。
您必须在每次显示时对键进行排序,或者使用不同类型的数据结构来保留顺序。 Python 2.7 或更高版本有collections.OrderedDict()类型,或者您可以使用二值元组列表(此时单个键值对的查找会很慢)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)