[PY3]——字典排序问题

OrderedDict 有序字典

from collections import OrderedDict

d={}
d[0]=3;d[6]=1;d[3]=1    //仔细看插入顺序
for k,v in d.items():
    print(k,v)          //输出的时候dict字典会按照key顺序来排序
0 3
3 1
6 1

od=OrderedDict()
od[0]=3;od[6]=1;od[3]=1   //但同样的插入顺序下
for k,v in od.items():
    print(k,v)            //OrdereDict会保持插入顺序
0 3
6 1
3 1

需要注意的是,一个 OrderedDict 的大小是一个普通字典的两倍,因为它内部维护着另外一个链表,要注意内存消耗问题

时间: 2024-12-15 01:35:40

[PY3]——字典排序问题的相关文章

[PY3]——字典中的键如何映射多个值?字典如何排序?

Defaultdict 默认字典 collections 模块中的 defaultdict(默认字典),可以用来构造“一个键映射多个值”这样的字典 如果你想保持元素的插入顺序就应该使用list, 如果想去掉重复元素就使用set import collections import defaultdict d=defaultdict(list) / e=defaultdict(set) d = { 'a' : [1, 2, 3], 'b' : [4, 5] } e = { 'a' : {1, 2,

小解字典排序问题

字典一般都没有排序功能,这里拐个弯根据键给排一下,分别存在两个列表. import numpy as np dic = {'g':3,'b':2,'a':5} locs = np.argsort(dic.keys()) #字典键从小到大排列的索引值列表 keys,values = [],[] #用于保存排序好的键——值 for i in locs: key = dic.keys()[i] keys.append(key) values.append(dic[key])

python第三章数据类型

第三章 数据类型 3.1 整型(int) 3.1.1 整型的长度 py2中有:int有取值范围,对于32位系统而言:-2^31~2^31-1 ? 对于64位系统而言:-2^63~2^63-1 ? 超出范围后,py2自动转换成long(长整型)数据. py3中有:int (int/long)只有int数据. 3.1.2 整除 py2和py3中整除是不一样. py2:整除只保留整数,小数位会舍去.若要保留小数.则在文件头加 from __future__ import division py3整除保

[PY3]——内置数据结构(7)——字典及其常用操作

字典及其常用操作Xmind图 ### 关于字典 ### 字典是一种key-value结构字典是无序的 ### 字典的定义 ### # {}大括号可以直接定义一个空字典 In [1]: d={};type(d) Out[1]: dict # {key:value} In [2]: d={'a':1,'b':2};print(d) {'a': 1, 'b': 2} # dict([(key,value)]) 可迭代对象的元素必须是一个二元组,二元组的第0个元素为key,第1个元素的为value In

py3 字符串 字典 列表 元组 集合

目录 字符串 列表 元组 字典 集合 Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 源码如下: class str(basestring): """ str(object='') -> string Return a nice string representation of the object. If the argument is a string, the return value is t

列表/元组/字符串/字典/集合/文件/字符编码

1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Alex',"Tenglan",'Eric'] 通过下标访问列表中的元素,下标从0开始计数 1 2 3 4 5 6 7 8 >>> names[0] 'Alex' >>> names[2] 'Eric' >>> names[-1] 'Eric' >>> names[-2] #

python day2 列表 元组 字典 字符串

列表 #列表事例 >>> li = list((1,2,3,4,5))>>> print li[1, 2, 3, 4, 5] >>> li2 = ['a','b','c','d']>>> print li2['a', 'b', 'c', 'd']>>> #列表尾部增加元素>>> li.append(6)>>> li[1, 2, 3, 4, 5, 6] #清空列表内的元素,适用于py

BPM实例分享:玩转数据字典新技能-字典库排序

有童鞋问到字典库的排序问题,这里简单介绍一个新技能. 数据字典使用场景:请假流程里的请假类型,有病假.事假.调休等.定义数据字典,并且在流程中使用SheetDropDownList或SheetRadioButtonList展现由用户来选择,如图: 数据字典 使用SheetDropDownList,并且设置该控件的属性MasterDataCategory为"请假类型",其代码可能如下: <SheetControls:SheetDropDownListID="SheetDr

Python中的各种排序问题

Python中的各种排序问题 小书匠 python 排序 在编写Python时,经常需要进行排序操作,简单的list排序还是很容易的,碰到复杂的就没办法,只能去查了,现在把编程过程中遇到的所有排序问题列下来,欢迎大家提供更加简洁,高效的排序方法,也欢迎 大家给出自己在Python遇到的排序问题. Python排序根本依赖于两个内建的函数: list.sort() 对list成员进行排序,不返回副本 sorted(list) 对list成员进行排序,返回副本 注:以下使用sorted(list)进