计数器: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

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

  1. python基础知识4——collection类——计数器,有序字典,默认字典,可命名元组,双向队列

    1.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能  Counter 我们从中挑选一些相对常用的方法来举例: 在上面的例子 ...

  2. Python学习笔记——基础篇2【第三周】——计数器、有序字典、元组、单(双)向队列、深浅拷贝、函数、装饰器

    目录 1.Python计数器Counter 2.Python有序字典OrderredDict 3.Python默认字典default 4.python可命名元组namedtuple 5.Python双 ...

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

    collections模块基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上 ...

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

    Counter(计数器) 是一个字典的子类,存储形式同样为字典,其中存储的键为字典的元素,值为元素出现的次数,在使用之前我们需要先导入文件 import collections 初始化一个计数器 im ...

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

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

  6. python-Day3-set 集合-counter计数器-默认字典(defaultdict) -可命名元组(namedtuple)-有序字典(orderedDict)-双向队列(deque)--Queue单项队列--深浅拷贝---函数参数

    上节内容回顾:C语言为什么比起他语言块,因为C 会把代码变异成机器码Pyhton 的 .pyc文件是什么python 把.py文件编译成的.pyc文件是Python的字节码, 字符串本质是 字符数组, ...

  7. 八、collection系列-----计数器、有序字典、默认字典、可命名元组、双向队列、单向队列一.计数器(对字典的扩展)

    一.计数器(对字典的扩展) 有如下一个字典: dic = {'k1':123,'k2':123,'k3':12} 统计12出现的次数,123出现的次数   1.统计出现次数 >>> ...

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

    1.3.5 OrderedDict 有序字典 OrderedDict是dict的子类,它记住了内容添加的顺序. import collections print 'Regular dictionary ...

  9. python之单例模式、栈、队列和有序字典

    一.单例模式 import time import threading class Singleton(object): lock = threading.RLock() # 定义一把锁 __inst ...

随机推荐

  1. CDH5.5.1版HBase安装使用LZO压缩

    1.安装      RHEL/CentOS/Oracle 5 Navigate to this link and save the file in the /etc/yum.repos.d/ dire ...

  2. linux下改变文件的字符编码

    首先确定文件的原始字符编码: $ file -bi test.txt 然后用 iconv 转换字符编码 $ iconv -f from-encoding -t to-encoding file > ...

  3. java的Socket通信例子及关于java.net.SocketException: Socket is closed错误

    今天写socket数据相互通信的时候,碰到一个及其蛋疼的错误.单向传输数据的时候server与client是没有问题的,但是两个都有输入输出操作的时候就出现了这个问题 java.net.SocketE ...

  4. ocp 1Z0-043 1-60题解析

    1.You observe that a database performance has degraded overa period of time. While investigating the ...

  5. 如何在不装ORACLE的情况下使用PLSQL

    原来我电脑装了oracle跟plsql,然后使用plsql的.后来因为某些原因,我重装了系统,把装的软件都格调了,需要重新装.当时在装plsql的时候我就想,我一直都是直接用plsql远程连接的服务器 ...

  6. 扩展KMP题目

    hdu4333 /* 题意:字符串s[0..n-1],每次把最后一个字符放到前面,求形成的字符串比最初串分别小,相同,大于的个数 因为是为了练习扩展KMP所以肯定是扩展KMP, 为了循环方便,在后面复 ...

  7. 自定义使用AVCaptureSession 拍照,摄像,载图

    转载自 http://blog.csdn.net/andy_jiangbin/article/details/19823333 拍照,摄像,载图总结 1 建立Session  2 添加 input  ...

  8. 【Todo】ipcs命令学习

    可以先看这一篇 http://www.jb51.net/article/40805.htm

  9. JFinal搭建时,提示着不到contextpath

    出项类似html截断现象 原因:此处是由于html不识别contextPath上下文所造成.其根本原因是html中使用contextPath与configHandler中加载的不一致造成(basePa ...

  10. java应用CPU占用率过高问题的分析

    使用top查询哪个进程占用CPU过高 查看CPU占用高的进程中,哪个线程占用CPU高 可通过以下三种方式查看: 1 top中按SHIFT+H查找哪个线程占用高 2 top -H -p PID命令查看哪 ...