返回顶部
首页 > 资讯 > 后端开发 > Python >如何在python 中使用collections.OrderedDict() 方法
  • 428
分享到

如何在python 中使用collections.OrderedDict() 方法

2023-06-15 05:06:15 428人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

本篇文章为大家展示了如何在python 中使用collections.OrderedDict() 方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python中的字典对象可以以“键:值”的方式存取

本篇文章为大家展示了如何在python 中使用collections.OrderedDict() 方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Python中的字典对象可以以“键:值”的方式存取数据。OrderedDict是它的一个子类,实现了对字典对象中元素的排序

注意,OrderedDict的 Key 会按照插入的顺序排列,不是Key本身排序:

import collectionsprint 'Regular dictionary:'d={}d['a']='A'd['b']='B'd['c']='C'for k,v in d.items():    print k,v print '\nOrderedDict:'d=collections.OrderedDict()d['a']='A'd['b']='B'd['c']='C'for k,v in d.items():    print k,v

输出结果如下:

Regular dictionary:
a A
c C
b B

OrderedDict:
a A
b B
c C

可以看到,同样是保存了ABC三个元素,但是使用OrderedDict会根据放入元素的先后顺序进行排序。

由于进行了排序,所以OrderedDict对象的字典对象,如果其顺序不同那么Python也会把他们当做是两个不同的对象,比如下面的代码:

import collections print 'Regular dictionary:'d1={}d1['a']='A'd1['b']='B'd1['c']='C' d2={}d2['c']='C'd2['a']='A'd2['b']='B' print d1==d2 print '\nOrderedDict:'d1=collections.OrderedDict()d1['a']='A'd1['b']='B'd1['c']='C' d2=collections.OrderedDict()d2['c']='C'd2['a']='A'd2['b']='B' print  d1==d2

其输出结果为:

Regular dictionary:
True

OrderedDict:
False

补充:Python collections.OrderedDict解决dict元素顺序问题

编程中遇到个问题,python JSON.loads时元素顺序可能会发生变化。

这个对于一些需要使用元素顺序来做一些策略的代码来说是致命的。

在网上查了查,结合自己的知识总结一下。

使用dict时,Key是无序的。在对dict做迭代时,我们无法确定Key的顺序。

如果要保持Key的顺序,可以用OrderedDict。

OrderedDict的Key会按照插入的顺序排列,不是Key本身排序。

#coding=utf-8import jsonimport collectionsmy_dict = {}my_list = ["测试", "1324", "r4ge5"]for i in my_list:   my_dict[i] = my_list[my_list.index(i)]print "str1原串:"str1 = json.dumps(my_dict, ensure_ascii=False)print str1print "对str1字符串进行loads后的结果:"data_js = json.loads(str1)print json.dumps(data_js, ensure_ascii=False).encode("utf8")print "对str1字符串进行loads后的结果(使用OrderedDict):"data_js = json.loads(str1, object_pairs_hook=collections.OrderedDict)print json.dumps(data_js, ensure_ascii=False).encode("utf8")

执行结果:

str1原串:
{"测试": "测试", "r4ge5": "r4ge5", "1324": "1324"}
对str1字符串进行loads后的结果:
{"r4ge5": "r4ge5", "1324": "1324", "测试": "测试"}
对str1字符串进行loads后的结果(使用OrderedDict):
{"测试": "测试", "r4ge5": "r4ge5", "1324": "1324"}

python的五大特点是什么

python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2.面向对象,与其他主要的语言如c++和Java相比, Python以一种非常强大又简单的方式实现面向对象编程。3.可移植性,Python程序无需修改就可以在各种平台上运行。4.解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5.开源,Python是 FLOSS(自由/开放源码软件)之一。

上述内容就是如何在python 中使用collections.OrderedDict() 方法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网Python频道。

--结束END--

本文标题: 如何在python 中使用collections.OrderedDict() 方法

本文链接: https://lsjlt.com/news/278028.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何在python 中使用collections.OrderedDict() 方法
    本篇文章为大家展示了如何在python 中使用collections.OrderedDict() 方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python中的字典对象可以以“键:值”的方式存取...
    99+
    2023-06-15
  • python 中的collections.OrderedDict() 用法
    Python中的字典对象可以以“键:值”的方式存取数据。OrderedDict是它的一个子类,实现了对字典对象中元素的排序。 注意,OrderedDict的 Key 会按照插入的顺序排列,不是Key本身排序: 比如下...
    99+
    2022-06-02
    python collections OrderedDict()
  • 如何在python中使用casefold()方法
    这期内容当中小编将会给大家带来有关如何在python中使用casefold()方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、说明casefold()方法是在Python3.3版本引进的,其效果与l...
    99+
    2023-06-15
  • 如何在Python中使用字符串方法
    本篇文章给大家分享的是有关如何在Python中使用字符串方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、find方法可以在一个较长的字符串中查找子串,他返回子串所在位置的...
    99+
    2023-06-15
  • python中如何使用 __init__()方法
    python中如何使用 __init__()方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用注意init()方法在创建一个对象时默认被调整,不需要调整。init(se...
    99+
    2023-06-20
  • 如何在Python中使用Blending算法
    如何在Python中使用Blending算法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、前言普通机器学习:从训练数据中学习一个假设。集成方法:试图构建一组假设并将它们组合...
    99+
    2023-06-15
  • 如何在pytorch中使用forward 方法
    这篇文章将为大家详细讲解有关如何在pytorch中使用forward 方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。forward 的使用class Module(nn.Mod...
    99+
    2023-06-06
  • 如何在javascript中使用 push()方法
    这篇文章给大家介绍如何在javascript中使用 push()方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JavaScript的特点1.JavaScript主要用来向HTML页面添加交互行为。2.JavaScr...
    99+
    2023-06-14
  • 如何在javascript中使用call方法
    这期内容当中小编将会给大家带来有关如何在javascript中使用call方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。js中call()方法的用法1.call方法语法:call(thisobj,[a...
    99+
    2023-06-14
  • item方法如何在javascript中使用
    这篇文章给大家介绍item方法如何在javascript中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。创建一个名称为 item   的html文件添加一个button按钮,在点击事件中加入自定义函数 &...
    99+
    2023-06-14
  • 如何在javascript中使用exec方法
    本篇文章为大家展示了如何在javascript中使用exec方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。javascript的exec方法用于检索字符串中的正则表达式的匹配,其使用语法是“Re...
    99+
    2023-06-14
  • sqrt方法如何在javascript中使用
    这篇文章给大家介绍sqrt方法如何在javascript中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。javascript sqrt方法用于返回一个数的平方根,其使用语法是“Math.sqrt(x)”,其参数x表...
    99+
    2023-06-14
  • 如何在javascript中使用then方法
    如何在javascript中使用then方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。javascript then方法是异步执行,就是当【.then()】前的方法执行完后...
    99+
    2023-06-14
  • join()方法如何在pandas中使用
    今天就跟大家聊聊有关join()方法如何在pandas中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。方式一:根据指定的分隔符将Series中的各个元素的字符串连接起来。impo...
    99+
    2023-06-14
  • wrap()方法如何在jQuery中使用
    本篇文章给大家分享的是有关wrap()方法如何在jQuery中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。jquery是什么jquery是一个简洁而快速的JavaScri...
    99+
    2023-06-14
  • nextUtil()方法如何在jQuery中使用
    今天就跟大家聊聊有关nextUtil()方法如何在jQuery中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。jquery是什么jquery是一个简洁而快速的JavaScript...
    99+
    2023-06-14
  • 如何在jQuery中使用not()方法
    这篇文章给大家介绍如何在jQuery中使用not()方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和短小清晰的多功能接口、...
    99+
    2023-06-14
  • 如何在jquery中使用eq()方法
    本篇文章为大家展示了如何在jquery中使用eq()方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和短...
    99+
    2023-06-14
  • append()方法如何在jquery中使用
    这期内容当中小编将会给大家带来有关append()方法如何在jquery中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独...
    99+
    2023-06-14
  • 如何在jquery中使用html()方法
    这篇文章将为大家详细讲解有关如何在jquery中使用html()方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在javascript中,“html()”方法的用法是“元素.html(被选...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作