八、collection系列-----计数器、有序字典、默认字典、可命名元组、双向队列、单向队列一.计数器(对字典的扩展)
>>> import collections
>>> c = collections.Counter("rewqfsdvcxzfgafrwqerwgfdjg;ldskj")
>>> c
Counter({'f': 4, 'r': 3, 'g': 3, 'w': 3, 'd': 3, 'q': 2, 'e': 2, 's': 2, 'j': 2, 'z': 1, 'k': 1, 'x': 1, ';': 1, 'c': 1, 'a': 1, 'l': 1, 'v': 1}) ======》它告诉了你f出现了4次,r出现了3次。。。。。。。
>>> c.most_common()
[('f', )]
>>> c.most_common()
[('f', ), ('r', )]
>>> c.most_common()
[('f', ), ('r', ), ('g', )]
>>> c.most_common()
[('f', ), ('r', ), ('g', ), ('w', )]
>>> c.most_common()
[('f', ), ('r', ), ('g', ), ('w', ), ('d', )]
>>> c.most_common()
[('f', ), ('r', ), ('g', ), ('w', ), ('d', ), ('q', )]
>>> c1 = collections.Counter('aabc')
>>> c2 = collections.Counter('aac')
>>> c1
Counter({'a': , 'c': , 'b': })
>>> c2
Counter({'a': , 'c': })
>>> c1.update(c2)
>>> c1
Counter({'a': , 'c': , 'b': })
>>> c1
Counter({'a': , 'c': , 'b': })
>>> c2
Counter({'a': , 'c': })
>>> c1.subtract(c2)
>>> c1
Counter({'a': , 'c': , 'b': })
>>> c1
Counter({'a': , 'c': , 'b': })
>>> for item in c1.elements():print (item) c
c
a
a
a
a
b
o1 = collections.OrderedDict()
o1['k1'] =
o1['k2'] =
o1['k3'] =
>>> o1
OrderedDict([('k1', ), ('k2', ), ('k3', )])
collections.defaultdict
dic = {}
if 'k1' in dic.keys():
dic['k1'].append()
else:
dic['k1'] = [,]
>>> dic = collections.defaultdict(list)
>>> dic
defaultdict(<class 'list'>, {})
>>> dic['k1'].append()
>>> dic
defaultdict(<class 'list'>, {'k1': []})
(,)
,4是我们的位置上的某个点,分别代表x轴和y轴,但是,这样的表述方法只有我们知道,别人不知道,所以需要给元组命名为x=,y=,z=........可命名元组的使用步骤为: .创建类
Mytuple = collections.namedtuple('Mytuple',['x','y']) 这个命令用于创建一个扩展tuple的类,类名叫Mytuple .使用类创建对象
我们在创建元组的时候是这样的:
t1 = (,)<====================>t1 = tuple(,) 你执行前面一个实际上Python的内部机制还是回去调后面这种方式,现在我们自己定义了一个元组扩展的类,可以看看 >>>t2 = Mytuple(,) 发现它返回了一个(x=,y=)的元组
>>>t2
Mytuple(x=, y=) .使用对象 >>> t2.x 现在我们就可以使用t2.x和t2.y分别取访问这两个元素了 >>> t2.y 我们自己创建的类也是有方法的,通过
dir(Mytuple)或者help(Mytuple)可以查看到 >>> help(Mytuple)
Help on class Mytuple in module __main__:
class Mytuple(builtins.tuple) =====>这句话表示Mytuple是通过tuple扩展的类,即tuple是Mytuple的父类,这个 也叫作继承,子类继承父类,表示它可以继承它的父类里的所有东西供自己使用
Mytuple(x, y) >>> dir(Mytuple)
['__add__', '__class__', '__contains__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '_asdict', '_fields', '_make', '_replace', '_source', 'count', 'index', 'x', 'y']
>>> help(collections.deque) >>> q = collections.deque() ======>创建了一个空的双向队列
>>> q.append() ======>append了几个值
>>> q.append()
>>> q.append()
>>> q.append()
>>> q.append()
>>> q
deque([, , , , ])
>>> import queue
>>> dir(queue)
['Empty', 'Full', 'LifoQueue', 'PriorityQueue', 'Queue', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'deque', 'heappop', 'heappush', 'threading', 'time'] 创建一个单向队列
>>> q = queue.Queue() =======>10代表这个单向队列里面最多放10条数据
>>> q
<queue.Queue object at 0x02AC2E50>
往里加数据:
>>> q.put()
>>> q.put()
>>> q.put()
往外拿数据:
>>> q.get() >>> q.get() >>> q.get() >>> q.get() =====>当里面没有数据了,光标就停在那里等待,直到里面有了,我就可以拿到了
八、collection系列-----计数器、有序字典、默认字典、可命名元组、双向队列、单向队列一.计数器(对字典的扩展)的更多相关文章
- python基础知识4——collection类——计数器,有序字典,默认字典,可命名元组,双向队列
1.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 Counter 我们从中挑选一些相对常用的方法来举例: 在上面的例子 ...
- python-Day3-set 集合-counter计数器-默认字典(defaultdict) -可命名元组(namedtuple)-有序字典(orderedDict)-双向队列(deque)--Queue单项队列--深浅拷贝---函数参数
上节内容回顾:C语言为什么比起他语言块,因为C 会把代码变异成机器码Pyhton 的 .pyc文件是什么python 把.py文件编译成的.pyc文件是Python的字节码, 字符串本质是 字符数组, ...
- Python_Day_05 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuqe.Queue)
Counter(计数器) 是一个字典的子类,存储形式同样为字典,其中存储的键为字典的元素,值为元素出现的次数,在使用之前我们需要先导入文件 import collections 初始化一个计数器 im ...
- 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuqe.Queue)
Python_Day_05 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuq ...
- Python 从零学起(纯基础) 笔记 之 collection系列
Collection系列 1. 计数器(Counter) Counter是对字典类型的补充,用于追踪值的出现次数 ps 具备字典所有功能 + 自己的功能 Counter import col ...
- 3.python基础补充(集合,collection系列,深浅拷贝)
一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型.集合元素(set elements):组成集合的成员 python的set和其他语言类似, 是一个无序不重复 ...
- python开发学习-day03(set集合、collection系列 、深浅拷贝、函数)
s12-20160116-day03 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- python collection系列
collection系列 不常用功能,需要进行模块功能导入: import collection Counter 常用方法测试: #!/usr/local/env python3 ''' Author ...
- Python中list(列表)、dict(字典)、tuple(元组)、set(集合)详细介绍
更新时间:2019.08.10 更新内容: "2.14加入sorted()函数" "2.3"加入一种删除元素的方法 "二.字典"新增1.5, ...
随机推荐
- HttpRequest对象
在面向对象的语言中,有种“万物皆对象”的说法.在上篇文章中介绍了HttpRuntime类,在该类收到请求之后,立即通过HttpWorkerRequest工作者对象对传递的参数进行分析和分解,创建方便网 ...
- ESA2GJK1DH1K升级篇: 快速的移植升级程序到自己的项目(BootLoader程序制作)
前言 此代码兼容STM32F103全系列 为避免添加上升级程序造成内存不足,请使用128KB Flash及其以上的型号 这篇文章是为了能够让大家快速移植我的升级模板程序到自己的项目 BootLoade ...
- PassGuard密码控件配置
运行环境 win服务器 系统server2008R2 C# ASP.NET服务器页面 前端部分 1.引用 //JS部分引用 <script type="text/javasc ...
- C语言实现计算器,附源码,超简单!
#include<stdio.h> #include<math.h> void main() { calculator(); } double calculator() { / ...
- 你真的了解strtotime('X month')吗
经常会有人被strtotime结合-1 month, +1 month, next month的时候搞得很困惑, 然后就会觉得这个函数有点不那么靠谱, 动不动就出问题. 用的时候就会很慌… 今天是20 ...
- idea找不到tomcat,找不到Tomcat server
打开settings 添加即可 如果再没有,可能需要先安装timcat插件
- HTTP之URL的快捷方式
URL快捷方式 ==================摘自<HTTP权威指南>======================= WEB客户端可以理解并使用几种URL快捷方式.相对URL是在某职 ...
- EF Core中的DB First与Code First
前言: 大家都习惯在程序中生成对应的model来对数据库进行操作,所以如何快速的生成数据库表的对应model,是基础之一.总结了一下在我的认知中大概是这个结构: Db first方式: 先创建好对应的 ...
- webapi 集成NLog
参考项目代码:SwaggerDemoApi 安装 打开nuget管理器--->搜索nlog,安装箭头所指的两个文件到你的项目中,config安装到你的API项目即可,nlog文件安装到你用得到n ...
- 整理:C#常用字符串操作,常用数值类型转换
一.字符串操作 1. 字符串连接 //将指定的数组所有元素拼接为一个字符串 string[] arr = {"A","B","C"}; st ...