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.Counter‘>        #是计数器类型

遍历计数器

>>> for k in obj.elements():
...   print(k)
...
b
a
c
e
d

有序字典

定义

>>> dic = collections.OrderedDict()
>>> type(dic)
<class ‘collections.OrderedDict‘>

添加元素

>>> dic["k1"] = "v1"
>>> dic["k2"] = "v2"
>>> dic["k3"] = "v3"
>>> print(dic)
OrderedDict([(‘k1‘, ‘v1‘), (‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘)])

move_to_end()      将元素移到 最后

>>> dic.move_to_end("k1")
>>> print(dic)
OrderedDict([(‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k1‘, ‘v1‘)])

删除元素

>>> dic.popitem()       #按顺序删除元素,从最后一个开始
(‘k1‘, ‘v1‘)
>>> dic.popitem()
(‘k3‘, ‘v3‘)

删除特定元素 pop()

>>> print(dic)
OrderedDict([(‘k2‘, ‘v2‘), (‘k1‘, ‘v1‘), (‘k3‘, ‘v3‘)])
>>> dic.pop(‘k1‘)
‘v1‘
>>> print(dic)
OrderedDict([(‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘)])

更新字典  update()

>>> dic.update({"k4":"v4"})
>>> print(dic)
OrderedDict([(‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k4‘, ‘v4‘)])

遍历字典

>>> for i in dic.keys():         #遍历所有的key
...   print(i)
...
k2
k3
k4
>>> for i in dic.values():       #遍历所有的值
...   print(i)
...
v2
v3
v4
>>> for k,v in dic.items():     #遍历所有的键值
...   print(k,v)
...
k2 v2
k3 v3
k4 v4
时间: 2024-08-08 01:09:12

python(3)-计数器,有序字典的相关文章

python中的有序字典

字典是python开发中的一种常用的数据结构,但是它在迭代时并不是按照元素的顺序进行,可能在某些场景下无法满足我们的需求,这就引入了有序字典 OrderedDict是dict的子类,它记住了内容添加的顺序 OrderedDict在比较时要内容和顺序完全相同时才视为相等 要使用OrderedDict得要求python版本2.7以上 例子: import collections keys = [1, 2, 3, 4, 5, 6] values = ['one', 'a', 'b', 'c', 'd'

【python】collections模块(有序字典,计数器,双向队列)

collections模块基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型: 1.namedtuple(): 生成可以使用名字来访问元素内容的tuple子类2.deque: 双端队列,可以快速的从另外一侧追加和推出对象3.Counter: 计数器,主要用来计数4.OrderedDict: 有序字典5.defaultdict: 带有默认值的字典 n

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学习笔记-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创建有序字典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模块介绍- 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

Python用两个list模拟有序字典

python语言中的dict(字典)类型是无序的.但是,实际中,我们有时会用到有序字典这种结构,也就是在一个有序的结构中存储一系列键值对.这里介绍的是,如何用两个list来实现这个结构. 1.bisect模块 1.1 介绍 python中的bisect模块可以实现向有序列表中插入元素,同时维护列表的顺序.bisect的实现也比较简单,大致的原理是首先使用二分查找,查找应该插入的位置,然后用list的insert方法将元素插入到指定的位置.bisect模块的代码不多,总共不到100行,而且非常简单

Python 有序字典(OrderedDict)与 普通字典(dict)

Python 的基础数据类型中的字典类型分为:无序字典 与 有序字典 两种类型 1.无序字典(普通字典): my_dict = dict()my_dict["name"] = "lowman"my_dict["age"] = 26my_dict["girl"] = "Tailand"my_dict["money"] = 80my_dict["hourse"] = No

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