专栏首页生物信息学、python、R、linuxpython3.6之后字典变成有序

python3.6之后字典变成有序

意外的发现以下的代码竟然是按照顺序输出的:

d = dict()
d['z'] = 1
d['b'] = 2
d['c'] = 3
d['d'] = 4

for k in d:
    print(k)

输出:z b c d

在记忆里python的字典是无序的,但是这个结果是有序的,查了一下发现在python 3.6 版本之前都是无序的,但是之后都变成有序的了。

之前的版本会输出:c z b d

仍然需要用到 collections.OrderedDict 才能使字典有序:

from collections import OrderedDict

d = OrderedDict()
d['z'] = 1
d['b'] = 2
d['c'] = 3
d['d'] = 4

for k in d:
    print(k)

这样输出:z b c d 与输入顺序一致。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • GridSearchCV (scikit learn) 确定超参数

    在我们建立模型的时候需要(尽量)确定最优的参数,比如以下KNN的例子,如果直接实现,我们可以用for-loop来寻找最大的score,从而确定对应的参数:

    生信编程日常
  • python中的深拷贝与浅拷贝

    赋值的时候,是直接引用,b与a其实都指向同一个对象,所以当a改变时,b也随机改变; 浅拷贝的时候,a与c独立,但是子对象指向同一对象,a变化时,c列表的子列表...

    生信编程日常
  • IncRNA介绍

    长链非编码RNA((long non-coding RNA, lncRNA)是一类长度大于200bp的非编码RNA,无蛋白质编码功能,物种间保守性差,具有较强的...

    生信编程日常
  • python第十三课——嵌套循环

    2.嵌套循环: 概念:循环中再定义循环,称为嵌套循环; 【注意】嵌套循环可能有多层,但是一般我们实际开发最多两层就可以搞定了(99%的情况) 格式: 1...

    hankleo
  • Swift中的for循环

    剑行者
  • 当python遇上杨辉三角——生成器与迭代器

    生成器:generator,主要是处理无限大的序列,但不希望采用传统的生成再存储的方式,因为这样极度占用内存与存储空间,因此可以看做是个懒人函数,需要的时候再调...

    小草AI
  • Perl_控制结构(2)

    while($i){print “$i “;$i--;};         #输出:4 3 2 1

    西游东行
  • FPGA图像处理系统仿真平台的搭建

    在FPGA实现图像处理算法之前我们需要验证我们的verilog代码的算法是否正确,或者是哪里出了问题,这时搭建一个图像处理的仿真平台就非常必要。我们很容易在仿真...

    FPGA开源工作室
  • Python 循环结结构

    Python知识大全
  • Python|如何实现穷举搜索?

    穷举搜索就是在整个搜索空间范围内尝试每一种可能性,直到找到目标值或者整个搜索空间都找完也没有找到目标值。最常见的穷举搜索就是线性搜索,即按照顺序简单检查所有不同...

    算法与编程之美

扫码关注云+社区

领取腾讯云代金券