Python中的字典到底是有序的吗

之前写了文章介绍python中的列表和字典,在文章中描述到了python中的列表是有序的,字典是无序的,后来有粉丝在群里提醒我,说python3.6的版本之后,字典是有序的,因此,我找了一个低版本的python来验证一下效果:

首先,从官网下载python3.4的版本,然后编写一行代码验证一下打印字典的所有key。查看打印出来的key的顺序:

Python3.6以下版本:(以3.4版本为例)

你该不会以为只有使用keys()函数是无序的吧:

从上图可以看出,分别在cmd窗口和pycharm中打印字典的key值,发现打印的顺序每次重新在一个新的窗口运行,打印的顺序都不一致。并且pycharm中会显示,python3.4的版本在pycharm中已经不再支持了。

接下来再看下python3.6以上版本的效果:(以3.9版本为例)

从上图可以看出,在新的版本中,python针对key的存储已经变为有序,在遍历和打印的时候,会按照存储的顺序进行取值。

再补充一点:之前介绍到,在字典中,key是唯一的。这里并不是说写了不唯一的key就会报错,只是会用后面的key和value去覆盖前面的key和value。

a = {'a': 1, 'b': 2, 'b': 3}   # 在运行的时候不会报错

到此这篇关于Python中的字典到底是有序的吗的文章就介绍到这了,更多相关Python字典有序内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python--字典(dict)和集合(set)详解

    目录 一.集合 1.集合定义 2.创建集合 3.去重 4.集合增删 5.关系运算 6.排序 7.frozenset 8.练习 9.特性 二.字典 1.字典定义 2.字典打印 3.字典元素删除 4.setdefault 5.defaultdict 总结 一.集合 1.集合定义 集合(set)是一个无序的不重复元素序列. 2.创建集合 使用大括号 { } 或者 set() 函数创建集合; 创建一个空集合必须用 set() 而不是 { } { } 是用来创建一个空字典. s = {1,2,3,4} p

  • Python中关于字典的常规操作范例以及介绍

    目录 1.字典的介绍 2.访问字典的值 (一)根据键访问值 (二)通过get()方法访问值 3.修改字典的值 4.添加字典的元素(键值对) 5.删除字典的元素 6.字典常见操作 1.len 测量字典中键值对的个数 2. keys 返回一个包含字典所有KEY的列表 3. values 返回一个包含字典所有value的列表 4. items 返回一个包含所有(键,值)元祖的列表 5. 遍历字典的key(键) 6. 遍历字典的value(值) 7. 遍历字典的items(元素) 8. 遍历字典的ite

  • Python中字典的基础介绍及常用操作总结

    目录 1.字典的介绍 2.访问字典的值 (一)根据键访问值 (二)通过get()方法访问值 3.修改字典的值 4.添加字典的元素(键值对) 5.删除字典的元素 6.字典常见操作 1.len 测量字典中键值对的个数 2. keys 返回一个包含字典所有KEY的列表 3. values 返回一个包含字典所有value的列表 4. items 返回一个包含所有(键,值)元祖的列表 5.遍历字典的key(键) 6.遍历字典的value(值) 7.遍历字典的items(元素) 8.遍历字典的items(键

  • Python教程按照字典的键或值进行排序方法解析

    Python sorted() 函数 sorted() 函数对所有可迭代的对象进行排序操作 sorted 语法: sorted(iterable, key=None, reverse=False) 参数说明: iterable – 可迭代对象. key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序. reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认). 1.

  • python 如何将字典写为json文件

    目录 python 将字典写为json文件 字典结构如下 写为json Python txt文件读取写入字典(json.eval) 使用json转换方法 使用str转换方法 python 将字典写为json文件 字典结构如下 res = { "data":[] } temp = { "name":name, "cls":cls } res["data"].append(temp) 写为json 具体代码如下: json_dat

  • Python中的字典到底是有序的吗

    之前写了文章介绍python中的列表和字典,在文章中描述到了python中的列表是有序的,字典是无序的,后来有粉丝在群里提醒我,说python3.6的版本之后,字典是有序的,因此,我找了一个低版本的python来验证一下效果: 首先,从官网下载python3.4的版本,然后编写一行代码验证一下打印字典的所有key.查看打印出来的key的顺序: Python3.6以下版本:(以3.4版本为例) 你该不会以为只有使用keys()函数是无序的吧: 从上图可以看出,分别在cmd窗口和pycharm中打印

  • Python中创建字典的几种方法总结(推荐)

    1.传统的文字表达式: >>> d={'name':'Allen','age':21,'gender':'male'} >>> d {'age': 21, 'name': 'Allen', 'gender': 'male'} 如果你可以事先拼出整个字典,这种方式是很方便的. 2.动态分配键值: >>> d={} >>> d['name']='Allen' >>> d['age']=21 >>> d[

  • Python中遍历字典过程中更改元素导致异常的解决方法

    先来回顾一下Python中遍历字典的一些基本方法: 脚本: #!/usr/bin/python dict={"a":"apple","b":"banana","o":"orange"} print "##########dict######################" for i in dict: print "dict[%s]=" % i,

  • Python中的字典遍历备忘

    备忘一下python中的字典如何遍历,没有什么太多技术含量.仅供作为初学者的我参考. 复制代码 代码如下: #!/usr/bin/env python # coding=utf-8 demoDict = {'1':'Chrome', '2':'Android'} for key in demoDict.keys():     print key for value in demoDict.values():     print value for key in demoDict:     pri

  • python中的字典操作及字典函数

    字典 dict_fruit = {'apple':'苹果','banana':'香蕉','cherry':'樱桃','avocado':'牛油果','watermelon':'西瓜'} 字典的操作 #字典的遍历方式 #默认遍历(遍历key) for value in dict_fruit: print(value) ''''' 遍历出的值: watermelon apple cherry avocado banana ''' #使用key遍历(与默认遍历一样) for key in dict_f

  • 在Python中合并字典模块ChainMap的隐藏坑【推荐】

    在Python中,当我们有两个字典需要合并的时候,可以使用字典的 update 方法,例如: a = {'a': 1, 'b': 2} b = {'x': 3, 'y': 4} a.update(b) print(a) 运行效果如下图所示: 然而,这个方法有一个问题--它会改变其中一个字典.如果我们不想改变原有的两个字典,那么我们必需要单独再创建一个字典: a = {'a': 1, 'b': 2} b = {'x': 3, 'y': 4} c = dict(a) c.update(b) prin

  • 解决python中遇到字典里key值为None的情况,取不出来的问题

    在python 命令行界面里,是可以去取key为None的value值. 在脚本里面就取不出了,可以用如下的方式解决. hosts = {"a":"111", "None":b, "c":"333"} hname = "" for (k,v) in hosts.items(): if k == None: print " value=%s " % (v) else:

  • python中defaultdict字典功能特性解析

    defaultdict是普通字典dict的一个子类.通过collections库的defaultdict()方法创建.defaultdict()需要传入的参数为 类名.(type类型)首先,以int类 作为参数传入为例, from collections import defaultdict dedict = defaultdict(int) print(dedict) 不同于普通的字典,其特性在于,当用一个defaultdict中不存在的键来调用时,不会报KeyError错误以调取’a’键的值

  • python中defaultdict字典功能特性介绍

    defaultdict是普通字典dict的一个子类.通过collections库的defaultdict()方法创建.defaultdict()需要传入的参数为 类名.(type类型)首先,以int类 作为参数传入为例, from collections import defaultdict dedict = defaultdict(int) print(dedict) 不同于普通的字典,其特性在于,当用一个defaultdict中不存在的键来调用时,不会报KeyError错误 以调取’a’键的

随机推荐