Python 字典是无序?

伟洪winni 2017-11-29 08:56:42

dict1 = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
print(dict1)

Python 字典是无序?输出结果都是{1: 'a', 2: 'b', 3: 'c', 4: 'd'}, 顺序都没变
...全文
1126 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
路边小白 2018-12-14
  • 打赏
  • 举报
回复
循环打印一下。
瞎编靠运气 2018-11-06
  • 打赏
  • 举报
回复
你不能指定字典的顺序。对人来说是无序的。但电脑生成时是有一定顺序的。你这个碰巧和你想的顺序一样。
户同学 2018-10-28
  • 打赏
  • 举报
回复
python字典无序的
hitrjj 2018-10-20
  • 打赏
  • 举报
回复
https://www.douban.com/note/333744010/
混沌鳄鱼 2017-11-29
  • 打赏
  • 举报
回复
默认情况下Python的字典输出顺序是按照键的按创建顺序。 字典的无序是指,不能人为重新排序。 比如说你按键值1,2,3,4的顺序创建的字典,只能由解析器按创建顺序,还是1,2,3,4的输出。 你无法控制它按照,4,3,2,1的顺序输出,你也无法做到,1,3,2,4的顺序。 而且这个输出顺序是也不是能真正按照创建顺序可以控的。 这里面有两个影响因素: (1)键值的哈希碰撞,hash(key1) == hash(key2)时,向字典里连续添加的这个两个键的顺序是不可以控制的,也是无法做到连续的,后来的键会按算法调整到其它位置。 (2)字典空间扩容,当键的数量超过字典默认开的空间时,字典会做空间扩容,扩容后的键顺和创建顺序就会发生变化,不受人为控制。
碧水幽幽泉 2017-11-29
  • 打赏
  • 举报
回复
Python字典,默认是按你定义时的顺序输出的。
碧水幽幽泉 2017-11-29
  • 打赏
  • 举报
回复
引用 楼主 qq_20203755 的回复:

dict1 = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
print(dict1)

Python 字典是无序?输出结果都是{1: 'a', 2: 'b', 3: 'c', 4: 'd'}, 顺序都没变

你想要什么样的效果?

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧