八、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, ...
随机推荐
- web框架--tornado之验证码实例
tornado随机生成图片验证码 用python生成随机验证码需要借鉴一个插件,和一个io模块,实现起来也非常容易,当然也需要借鉴session来判断验证码是否错误,下面写一段用户登录验证带验证码的. ...
- 【oracle】oracle11g安装失败 提示找不到文件,模板General_Purpose.dbc不存在
先确定一下自己的安装包是不是一起解压的! 不是就重新解压,重新装. 是,剩下的我也不会
- tornado内置接口调用顺序initialize\prepare...
一. initialize方法 首先, 该方法是框架预留的一个初始化时加载自定义内容的钩子, 其会在http请求方法之前调用 二. prepare方法 预处理方法, 在执行对应的请求方法之前调用. h ...
- 数据结构or算法
其实长久以来 mrxfyxj一直纠结着数据结构和算法到底有什么区别 只要学了一个算法就在惋惜她为什么不能是数据结构 产生这种想法的原因是mrxf觉得他blog里数据结构的东西很少 而mrxf自身又有一 ...
- Linux性能优化实战学习笔记:第三十一讲
一.上节回顾 上一节,我们一起回顾了常见的文件系统和磁盘 I/O 性能指标,梳理了核心的 I/O 性能观测工具,最后还总结了快速分析 I/O 性能问题的思路. 虽然 I/O 的性能指标很多,相应的性能 ...
- Spring Boot中的Mongodb多数据源扩展
在日常工作中,我们通过Spring Data Mongodb来操作Mongodb数据库,在Spring Boot中只需要引入spring-boot-starter-data-mongodb即可. 然后 ...
- 【报名中】【5G探索】深度揭秘5G核心技术与挑战,云+社区开发者大会北京站等你来!
报名渠道(扫描下方二维码) 开发者专属福利 限量手办 现场幸运签到开发者即可获得,早到获奖几率更大 幸运抽奖 一等奖:1名 JBL LIVE650 BTNC无线主动降噪智能耳机 二等奖:3名 JBL ...
- jmeter和ab的对比
压测比较常用的工具:ab,webbench,jmeter ab和webbench作为shell模式下轻量级的测试工具,ab比webbench功能更多一些 jmeter作为有GUI界面的更高级测试工具 ...
- CentOS7 GitLab 安装
1.安装依赖 $ yum -y install policycoreutils openssh-server openssh-clients postfix $ yum install policyc ...
- Centos7.5 安装Mysql5.7
#yum -y install wget #wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rp ...