笔记-python-standard library-8.3.collections 1. collections简介Source code: Lib/collections/__init__.pyThis module implements specialized container datatypes providing alternatives to Python’s general purpose built-in containers, dict, list, set, and tuple.实现了一些特殊的容器类。namedtuple()factory function for creating tuple subclasses with named fieldsdequelist-like container with fast ap...
namedtupledequeOrderedDictCounter 一、namedtuple用于创建一个自定义的tuple对象,可以用于给数组重命名,提高数组索引可读性。示例:>>> from collections import namedtuple
>>> Point = namedtuple(‘Point‘, [‘x‘, ‘y‘])
>>> p = Point(1, 2)
>>> p.x
1
>>> p.y
2
from collections import namedtuple
students=namedtuple(‘Student‘,[‘name‘,‘age‘,‘sex‘,‘email‘])
s2=students(‘sun‘,‘25‘,‘girl‘,‘m...
http://blog.csdn.net/pipisorry/article/details/46947833集合库collectioncollections模块介绍Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型:
1.namedtuple(): 生成可以使用名字来访问元素内容的tuple子类
2.deque: 双端队列,可以快速的从另外一侧追加和推出对象
3.Counter: 计数器,主要用来计数
4.OrderedDict: 有序字典
5.defa...
namedtuplecollections.namedtuple(typename, filed_name, *, rename=False, module=None)创建一个以 typename 命名的 tuple 子类,这个子类用于创建类元组对象,这些对象可以像元组一样被索引和迭代。field_name: 指定 namedtuple 的字段名,可以是列表,可以是用空格或逗号隔开的字符串。rename: field_name 中无效的标识符(字符,数字,下划线,并且不以下划线或数字开头,不与内置变量名冲突)将被自动替换为下划线加索引(例...
python内建模块--collectionscollections是Python内建的一个集合模块,提供了许多有用的集合类。namedtuple我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成:>>> p = (1, 2)但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的。 定义一个class又小题大做了,这时,namedtuple就派上了用场:>>> from collections import namedtuple
>>> Point = namedtuple(‘Point‘, [‘x‘, ‘y‘])
>>> p = Poin...
列出目录下所有文件os.listdir(‘dirname‘):列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式返回。创建文件夹:os.mkdir(‘文件夹‘) 创建文件夹os.makedirs(‘文件夹1/文件夹2‘) 递归创建文件夹删除文件夹:os.rmdir(‘文件夹路径‘) 删除文件夹(只能删除空目录,有文件不能删除)os.removedirs(‘文件夹路径‘) 递归删除到根目录(只能删除空目录,目录里不能有文件)和文件相关os.remove() 删除一个...
collections是Python内建的一个集合模块,提供了许多有用的集合类。本文将介绍以下几种方法:namedtupleCounter()dequeOrderedDict 一、namedtuple namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,可以用属性而不是索引来引用tuple的某个元素。因为tuple是不可变类型,所以用namedtuple定义出来的对象经过初始化以后,对象的属性是不可以改变的。 >>> from collections import namedtuple
>...
python的内建模块collections有几个关键的数据结构,平常在使用的时候,开发者可以直接调用,不需要自己重复制造轮子,这样可以提高开发效率。
1. deque双端队列
平常我们使用的python内置list类的append,extend,pop方法都是从list的尾部执行的(pop()默认弹出最后一个元素)。在使用的时候,list很像是一种栈结构(LIFO)。不同的是list灵活性更强,在栈的基础上有动态插入的方法,即insert(index,obj)和索引、切片等操作。...
python视频教程栏目介绍Python的collections.Counter类型。collections.Counter 类型可以用来给可散列的对象计数,或者是当成多重集合来使用 —— 多重集合就是集合里的元素可以出现多次1。collections.Counter 类型类似于其它编程语言中的 bags 或者 multisets2。(1)基本用法counter = collections.Counter([生物, 印记, 考古学家, 生物, 枣, 印记])
logging.info(counter -> %s, counter)
counter.update([化石, 果实, 枣, 生物...
python视频教程栏目介绍Python的collections.Counter类型。collections.Counter 类型可以用来给可散列的对象计数,或者是当成多重集合来使用 —— 多重集合就是集合里的元素可以出现多次1。collections.Counter 类型类似于其它编程语言中的 bags 或者 multisets2。(1)基本用法counter = collections.Counter([生物, 印记, 考古学家, 生物, 枣, 印记])
logging.info(counter -> %s, counter)
counter.update([化石, 果实, 枣, 生物...
python内置模块collections介绍collections是Python内建的一个集合模块,提供了许多有用的集合类。1、namedtuplepython提供了很多非常好用的基本类型,比如不可变类型tuple,我们可以轻松地用它来表示一个二元向量。推荐学习:Python视频教程 >>> v = (2,3)我们发现,虽然(2,3)表示出了一个向量的两个坐标,但是,如果没有额外说明,又很难直接看出这个元组是用来表示一个坐标的。为此定义一个class又小题大做了,这时,namedtupl...
collections是Python内建的一个集合模块,提供了许多有用的集合类。 1.Counter 计数器Counter是一个简单的计数器,例如,统计字符出现的个数: >>> importcollections>>> obj =collections.Counter(applebanana)>>> print(obj)Counter({a: 4, n:2, p: 2, e: 1, l: 1, b: 1}) 2.OrderedDict 有序字典 使用dict时,Key是无序的。在对dict做迭代时,我们无法确定Key的顺序。如果要保持Key的顺序,可以用OrderedDict:>>> od =colle...
collections 是 python 的内置模块,源码位于 Lib/collections/init.py ,该模块提供了通用的数据容器。deque 容器对象通过 from collections import deque 引入,创建 deque 容器对象时,可通过设置参数为 Iterable 对象(如 tuple,list,str)或 maxlen=x(int类型) or None 进行初始化。deque 容器支持线程安全,通过 append 或 pop 对 deque 的两端进行插入或移除元素时,时间复杂度为 O(1)。与 list 对象相比,list 同样有相...
引言Python为我们提供了4种基本的数据结构:list, tuple, dict,
set,但是在处理数据量较大的情形的时候,这4种数据结构就明显过于单一了,比如list作为单向链表在某些情形插入的效率会比较低,有时候我们也需要维护一个有序的dict。所以这个时候我们就要用到Python标准库为我们提供的collections包了,它提供了多个有用的集合类,熟练掌握这些集合类,不仅可以让我们让写出的代码更加Pythonic,也可以提高我们程序的运行效率。de...
defaultdict 主要用来需要对 value 做初始化的情形。对于字典来说,key 必须是 hashable,immutable,unique 的数据,而 value 可以是任意的数据类型。如果 value 是 list,dict 等数据类型,在使用之前必须初始化为空,有些情况需要把 value 初始化为特殊值,比如 0 或者 ‘‘。from collections import defaultdictperson_by_age = defaultdict(list)
for person in persons:d[person.age].append(person.name)defaultdict 和 di...