Python模块:collections

时间:2022-09-25 08:32:23

collections模块常用的数据类型:

(1)namedtuple():   #创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。

from collections import namedtuple
p = namedtuple('p',['x','y','z'])
p1 = p(2,3,5)
print(p1.x,p1.y,p1.z) 输出结果为:
2 3 5
(2)deque():   #使用list存储数据时,按索引访问元素很快。由于list是线性存储,数据量大的时候,插入和删除元素效率就很低。deque队列是为了高效的实现插入和删除操作的双向列表,适用于队列和栈。

from collections import deque

li1 = deque([1,2,3,4,5])
li1.append('a')
li1.appendleft('m')
print(li1) li1.pop()
li1.popleft()
print(li1) 输出结果为:
deque(['m', 1, 2, 3, 4, 5, 'a'])
deque([1, 2, 3, 4, 5])
(3)defaultdict():   #使用字典的时候,如果key值不存在就会报KeyError错。如果想key不存在时,返回一个默认值,就可以用defaultdict:

from collections import defaultdict

dd = defaultdict(lambda :'not exist!')
dd['k1'] = ''
print(dd['k1'])
print(dd['k2']) 输出结果为:
123
not exist!
(4有序字典

from collections import OrderedDict

dd = dict([('k1',1),('k2',2),('k3',3)])
print(dd) order_dd =OrderedDict([('k1',1),('k2',2),('k3',3)])
print(order_dd) 输出结果为:
{'k3': 3, 'k2': 2, 'k1': 1}
OrderedDict([('k1', 1), ('k2', 2), ('k3', 3)])
(5)Counter():   #计数器,统计字符串里面所有元素出现次数。

from collections import Counter
s = "A Counter is a dict subclass for counting hashable objects. It is an unordered collection where elements are stored as dictionary keys and their counts are stored as dictionary values. " c = Counter(s)
print(c.most_common(5)) #统计出现次数最多的5个元素 输出结果为:
[(' ', 30), ('e', 18), ('s', 15), ('a', 13), ('t', 13)]

Python模块:collections的更多相关文章

  1. python模块--collections

    python的内建模块collections有几个关键的数据结构,平常在使用的时候,开发者可以直接调用,不需要自己重复制造*,这样可以提高开发效率. 1. deque双端队列 平常我们使用的pyth ...

  2. python模块collections中namedtuple()的理解

    Python中存储系列数据,比较常见的数据类型有list,除此之外,还有tuple数据类型.相比与list,tuple中的元素不可修改,在映射中可以当键使用.tuple元组的item只能通过index ...

  3. Python 模块collections

    1.深入理解python中的tuple的功能 基本特性 # 可迭代 name_tuple = ('0bug', '1bug', '2bug') for name in name_tuple: prin ...

  4. 不可不知的Python模块: collections

    原文:http://www.zlovezl.cn/articles/collections-in-python/ Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块.比如今天想 ...

  5. python模块--collections(容器数据类型)

    Counter类(dict的子类, 计数器) 方法 返回值类型 说明 __init__ Counter 传入可迭代对象, 会对对象中的值进行计数, 值为键, 计数为值 .elements() 迭代器 ...

  6. Python中collections模块

    目录 Python中collections模块 Counter defaultdict OrderedDict namedtuple deque ChainMap Python中collections ...

  7. Python之常用模块--collections模块

    认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...

  8. 【转】python模块分析之collections(六)

    [转]python模块分析之collections(六) collections是Python内建的一个集合模块,提供了许多有用的集合类. 系列文章 python模块分析之random(一) pyth ...

  9. Python的collections模块中namedtuple结构使用示例

      namedtuple顾名思义,就是名字+元组的数据结构,下面就来看一下Python的collections模块中namedtuple结构使用示例 namedtuple 就是命名的 tuple,比较 ...

  10. python常用模块collections os random sys

    Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码 ...

随机推荐

  1. xmlHttp.readyState的五种状态

    自己简单的总结一下 深入的了解可以看其他道友的 O(∩_∩)O readyState有五种可能的值: 0 (未初始化): (XMLHttpRequest)对象已经创建,但还没有调用open()方法. ...

  2. rplidar测试

    以下在虚拟机中完成的(ubuntu12.04-amd64-ros-exbot-h2-140520). 进入catkin_ws,下载代码: cd ~/catkin_ws/src/ git clone h ...

  3. android几个实用的判定代码

    之前项目有几个判定代码很实用,特此做一个整理. 一.验证手机格式是否正确 //判断手机号码是否合理 private boolean judgePhoneNums(String phoneNums) { ...

  4. 根据文字返回Label高度

    NSString分类 @implementation NSString (stringSize) //计算文字显示的所需要的size -(CGSize)sizeWithFont:(UIFont *)f ...

  5. Mysql允许外网接入

    首先你可以为mysql创建一个账户,或者为root用户接入数据库. 授权用户指定所有主机以指定用户连接服务器 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDE ...

  6. C++ STL算法系列5---equal() , mismatch()

    equal和mismatch算法的功能是比较容器中的两个区间内的元素.这两个算法各有3个参数first1,last1和first2.如果对 于区间[first1,last1)内所有的first1+i, ...

  7. SQL Server 发布订阅 发布类型详解

    MicrosoftSQL Server 提供了三种复制类型. 每种复制类型都适合于不同应用程序的要求. 根据应用程序需要,可以在拓扑中使用一种或多种复制类型: 快照复制 事务复制 合并复制 为了帮助您 ...

  8. Android ListView高度自适应和ScrollView冲突解决

    在ScrollView中嵌套使用ListView,ListView只会显示一行到两行的数据.起初我以为是样式的问题,一直在对XML文件的样式进行尝试性设置,但始终得不到想要的效果.后来在网上查了查,S ...

  9. php处理字符串常用函数

    1查找字符位置函数: strpos($str,search,[int]):查找search在$str中的第一次位置从int开始: stripos($str,search,[int]):函数返回字符串在 ...

  10. java 单元测试教程(junit)

    单元测试概念:最小化测试  比如说你想测试某个类中的一个方法 优点:无须启动整个程序 clipse使用junit教程: (一)配置jar: 1.右键工程选择Build Path 在二级菜单选择 Add ...