有序字典

import collectionsdic1=collections.OrderedDict()dic3=collections.OrderedDict()dic1 ={    ‘#1‘:{‘cpu‘:1, ‘diskhard‘:3,‘neicun‘:5},    ‘#2‘:{‘cpu‘:2, ‘diskhard‘:3,‘neicun‘:5},    ‘#3‘:{‘cpu‘:1, ‘diskhard‘:4,‘neicun‘:5},}dic2 ={    ‘#1‘:{‘cpu‘:1, ‘diskhard‘:3,‘neicun‘:5},    ‘#3‘:{‘cpu‘:1, ‘diskhard‘:3,‘neicun‘:5},    ‘#4‘:{‘cpu‘:2, ‘diskhard‘:3,‘neicun‘:6},}dic3[‘#1‘]={‘cpu‘:1, ‘diskhard‘:3,‘neicun‘:5}dic3[‘#2‘]={‘cpu‘:1, ‘diskhard‘:4,‘neicun‘:5}dic3[‘#3‘]={‘cpu‘:2, ‘diskhard‘:3,‘neicun‘:5}"""如上图所示,dic1依然不会创造一个有序的字典,dic3会是一个有序字典"""dic3.move_to_end(‘#1‘)print(dic3)dic3.pop("#3")‘‘‘pop并不按照顺序来‘‘‘print(dic1)print(dic2)print(dic3)dic3.setdefault("k4",66)print(dic3)dic3.update({"k1":22,‘k8‘:45})print(dic3)

输出结果

OrderedDict([(‘#2‘, {‘cpu‘: 1, ‘diskhard‘: 4, ‘neicun‘: 5}), (‘#3‘, {‘cpu‘: 2, ‘diskhard‘: 3, ‘neicun‘: 5}), (‘#1‘, {‘cpu‘: 1, ‘diskhard‘: 3, ‘neicun‘: 5})])
{‘#3‘: {‘cpu‘: 1, ‘diskhard‘: 4, ‘neicun‘: 5}, ‘#1‘: {‘cpu‘: 1, ‘diskhard‘: 3, ‘neicun‘: 5}, ‘#2‘: {‘cpu‘: 2, ‘diskhard‘: 3, ‘neicun‘: 5}}
{‘#3‘: {‘cpu‘: 1, ‘diskhard‘: 3, ‘neicun‘: 5}, ‘#1‘: {‘cpu‘: 1, ‘diskhard‘: 3, ‘neicun‘: 5}, ‘#4‘: {‘cpu‘: 2, ‘diskhard‘: 3, ‘neicun‘: 6}}
OrderedDict([(‘#2‘, {‘cpu‘: 1, ‘diskhard‘: 4, ‘neicun‘: 5}), (‘#1‘, {‘cpu‘: 1, ‘diskhard‘: 3, ‘neicun‘: 5})])
OrderedDict([(‘#2‘, {‘cpu‘: 1, ‘diskhard‘: 4, ‘neicun‘: 5}), (‘#1‘, {‘cpu‘: 1, ‘diskhard‘: 3, ‘neicun‘: 5}), (‘k4‘, 66)])
OrderedDict([(‘#2‘, {‘cpu‘: 1, ‘diskhard‘: 4, ‘neicun‘: 5}), (‘#1‘, {‘cpu‘: 1, ‘diskhard‘: 3, ‘neicun‘: 5}), (‘k4‘, 66), (‘k1‘, 22), (‘k8‘, 45)])

时间: 2024-10-11 14:01:51

有序字典的相关文章

C#高级编程五十四天----Lookup类和有序字典

Lookup类 Dictionary<Tkey,TValue>只为每个键支持一个值.新类Lookup<Tkey,TValue>是.NET3.5中新增的,它类似与Dictionary<Tkey,TElement>,但把键映射带一个值集上.这个类在程序及System.Core中实现,用System,Linq命名空间定义. Lookup<Tkey,TElement>的方法和属性如下表: 属性名或者方法名 说明 Count 属性Count返回集合中的元素个数 Ite

python学习笔记-Day8 下 (特殊方法、iter方法、super方法、有序字典实现、python单例模式)

使用特殊方法实现字典 # 使用像字典 dic['xx'] 带中括号的类使用 # 简要介绍 class Foo: # ① 对象[xx] 调用的方法 def __getitem__(self, item): return 'getitem' # ② 对象[xx] = xxx 调用的方法 def __setitem__(self, key, value): return 'setitem' # ③ del 对象[xx] 调用的方法 def __delitem__(self, key): return

python(3)-计数器,有序字典

计数器:Counter 在使用计数器之前需要先 import collections >>> import collections >>> obj = collections.Counter("abcde") >>> print(obj) Counter({'b': 1, 'a': 1, 'c': 1, 'e': 1, 'd': 1}) #分别统计每个字符出现的次数 >>> type(obj) <class

collections之有序字典和默认字典

#defaultdict的意思是定义一个dict,然后定义这个字典的value默认是一个什么类型 #如下,定义一个字典,该字典的value的值默认是listimport collectionsdef_dict = collections.defaultdict(list) def_dict['k1'].append('v1')print(def_dict['k1'])# ['v1']print(def_dict)# defaultdict(<class 'list'>, {'k1': ['v1

python创建有序字典OrderedDict()

python 有序字典OrderedDict # -*- coding:utf-8 -*- """ python有序字典 需导入模块collections """ import collections # 通过OrderedDict类创建的字典是有序的 dic = collections.OrderedDict() dic['k1'] = 'v1' dic['k2'] = 'v2' dic['k3'] = 'v3' print dic "

python 学习 有序字典

自定义创建有序字典类 dict的__getitem__方法 有些不同,想使用自定义__getitem__方法显示查询key的下标:需要研究 #/usr/bin/env python3 # -*- coding:utf-8 -*- # Author: ZSHAOX class mydict(dict): li = [] #定义列表用于有序的排列key值 def __setitem__(self, key, value): #自定义__setitem__方法,扩展父类方法 self.li.appen

iOS开发——面试篇&amp;面试总结(四)实现有序字典

面试总结(四)实现有序字典 实现方法 按NSDictionary的key来对其进行排序: 将字典的Value再放到一个字典里面,key分别使用有序的字符串 先将字典转模型,再放到数组里面 先将dict的allkeys赋给一个数组,然后通过sortedArrayUsingComparator:方法对数组排序,然后遍历数组取字典对应key的值就ok 这里只说大概的两张方法的实现 方法一 1 NSArray *keys = [dict allKeys]; 2 NSArray *sortedArray

Python_Day_05 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuqe.Queue)

Counter(计数器) 是一个字典的子类,存储形式同样为字典,其中存储的键为字典的元素,值为元素出现的次数,在使用之前我们需要先导入文件 import collections 初始化一个计数器 import collections # 初始化一个计数器 c = collections.Counter('sldfjoaoaufdlfuaof') print(c) # Counter({'f': 4, 'o': 3, 'a': 3, 'd': 2, 'u': 2, 'l': 2, 'j': 1,

python模块介绍- collections(5)-OrderedDict 有序字典

1.3.5 OrderedDict 有序字典 OrderedDict是dict的子类,它记住了内容添加的顺序. import collections print '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