Python collections模块使用方法详解
一、collections模块
1.函数namedtuple
(1)作用:tuple类型,是一个可命名的tuple
(2)格式:collections(列表名称,列表)
(3)返回值:一个含有列表的类
(4)例子:
import collections # help(collections.namedtuple) Point = collections.namedtuple("Point",['x','y']) p = Point(15,45) print(p.x+p.y) print(p[0]+p[1]) #支持索引等 #应用举例 Circle = collections.namedtuple('Circle',['x','y','r']) circle = Circle(14,15,45) propotion = circle[2]*circle[2]*3.141596 print("圆的面积为",propotion)
2.函数deque
(1)作用:比较方便的解决了频繁删除插入带来的效率问题
(2)格式:deque(列表)
(3)返回值:列表
(4)例子:
q = collections.deque(['a','b','c']) print(q) q.append('sada') q.appendleft('left') print(q) help(collections.deque)
3.函数:defaultdict
(1)作用:当读取dict不存在的属性时,会返回默认值
(2)格式:collections.defaultdict(函数)
(3)返回值:返回括号里的函数
(4)例子:
我们定义一个字典,但是当我们打印一个不存在的索引的时候,会报错,因此我们在定义一个函数,当索引不存在的时候让他返回这个函数。
这个类似于我们使用:
try...except...这个关键字的用法
d1 = {"one":1,"two":2,"three":3} print("four") #上面的会报错,下面的就会返回函数,告诉我们错了 func = lambda:"错了" d2 = collections.defaultdict(func) d2['one']=1 d2['two']=2 print(d2['four'])
4.函数Couter
(1)作用:统计字符串的个数
(2)格式:collections.Counter()
(3)返回值:可迭代内容的字典的Counter类
(4)例子:
list1 = collections.Counter("aaabbbccc") print(list1) list2 = collections.Counter(['abc','sad','sad','abc','abc','ffds']) print(list2)
(5)总结:括号内的内容必须是可迭代的才可以进行统计,这里这两个例子不一样,第一个统计的时字符串的字母个数,第二个统计的列表中的元素重复个数,符合我们对可迭代的理解。
二、源码
d21_1_collections_module
地址:https://github.com/ruigege66/Python_learning/blob/master/d21_1_collections_module
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Python的collections模块中的OrderedDict有序字典
如同这个数据结构的名称所说的那样,它记录了每个键值对添加的顺序. d = OrderedDict() d['a'] = 1 d['b'] = 10 d['c'] = 8 for letter in d: print letter 输出: a b c 如果初始化的时候同时传入多个参数,它们的顺序是随机的,不会按照位置顺序存储. >>> d = OrderedDict(a=1, b=2, c=3) OrderedDict([('a', 1), ('c', 3), ('b', 2)]) 除了和
-
简单掌握Python的Collections模块中counter结构的用法
counter 是一种特殊的字典,主要方便用来计数,key 是要计数的 item,value 保存的是个数. from collections import Counter >>> c = Counter('hello,world') Counter({'l': 3, 'o': 2, 'e': 1, 'd': 1, 'h': 1, ',': 1, 'r': 1, 'w': 1}) 初始化可以传入三种类型的参数:字典,其他 iterable 的数据类型,还有命名的参数对. | __init
-
Python collections模块实例讲解
collections模块基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型: 1.namedtuple(): 生成可以使用名字来访问元素内容的tuple子类2.deque: 双端队列,可以快速的从另外一侧追加和推出对象3.Counter: 计数器,主要用来计数4.OrderedDict: 有序字典5.defaultdict: 带有默认值的字典 n
-
详解Python的collections模块中的deque双端队列结构
deque 是 double-ended queue的缩写,类似于 list,不过提供了在两端插入和删除的操作. appendleft 在列表左侧插入 popleft 弹出列表左侧的值 extendleft 在左侧扩展 例如: queue = deque() # append values to wait for processing queue.appendleft("first") queue.appendleft("second") queue.appendl
-
简介Python的collections模块中defaultdict类型的用法
defaultdict 主要用来需要对 value 做初始化的情形.对于字典来说,key 必须是 hashable,immutable,unique 的数据,而 value 可以是任意的数据类型.如果 value 是 list,dict 等数据类型,在使用之前必须初始化为空,有些情况需要把 value 初始化为特殊值,比如 0 或者 ''. from collections import defaultdict person_by_age = defaultdict(list) for pers
-
Python的collections模块中namedtuple结构使用示例
namedtuple 就是命名的 tuple,比较像 C 语言中 struct.一般情况下的 tuple 是 (item1, item2, item3,...),所有的 item 都只能按照 index 访问,没有明确的称呼,而 namedtuple 就是事先把这些 item 命名,以后可以方便访问. from collections import namedtuple # 初始化需要两个参数,第一个是 name,第二个参数是所有 item 名字的列表. coordinate = namedtu
-
Python collections模块使用方法详解
一.collections模块 1.函数namedtuple (1)作用:tuple类型,是一个可命名的tuple (2)格式:collections(列表名称,列表) (3)返回值:一个含有列表的类 (4)例子: import collections # help(collections.namedtuple) Point = collections.namedtuple("Point",['x','y']) p = Point(15,45) print(p.x+p.y) pri
-
python Tkinter模块使用方法详解
目录 一.前言 1.1.Tkinter是什么 二.准备工作 2.1.Windows演示环境搭建 三.Tkinter创建窗口 3.1.创建出一个窗口 3.2.给窗口取一个标题 3.3.窗口设置 3.3.创建按钮,并且给按钮添加点击事件 3.4.窗口内的组件布局 四.Tkinter基本控件介绍 4.1.封装 4.2.文本显示_Label 4.3.按钮显示_Button 4.4.输入框显示_Entry 4.5.文本输入框显示_Text 4.6.复选按钮_Checkbutton 4.7.单选按钮_Rad
-
python pillow模块使用方法详解
pillow Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库.pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持python2和python3,目前最新版本是3.0.0. Pillow的Github主页:https://github.com/python-pillow/Pillow Pillow的文档(对应版本v3.0.0): https://pillow.readthedocs.org/en/latest/handb
-
Python decimal模块使用方法详解
decimal 模块:decimal意思为十进制,这个模块提供了十进制浮点运算支持 1.可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确. 2.要从浮点数据转换为Decimal类型 from decimal import * Decimal.from_float(12.222) # 结果为Decimal('12.2219999999999995310417943983338773250579833984375') 3.通过设定有效数字,限定结果样式 from
-
python 环境变量和import模块导入方法(详解)
1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 import 模块名 form 模块名 import * from 模块名 import 模块名 as 新名称 3. 导入模块本质 import 模块名 ===> 将模块中所有的数据赋值给模块名,调用时需要模块名.方法名() from 模块名 import 方法名 ==>将该方法单独放到当前文件运行一遍
-
通过字符串导入 Python 模块的方法详解
我们平时导入第三方模块的时候,一般使用的是 import 关键字,例如: import scrapy from scrapy.spider import Spider 但是如果各位同学看过 Scrapy 的 settings.py 文件,就会发现里面会通过字符串的方式来指定pipeline 和 middleware,例如: DOWNLOADER_MIDDLEWARES = { 'Test.middlewares.ExceptionRetryMiddleware': 545, 'Test.midd
-
python安装sklearn模块的方法详解
可直接用这行命令!: pip install -U scikit-learn 其他命令: (1)更新pip python -m pip install --upgrade pip (2)安装 scipy 在网址http://www.lfd.uci.edu/~gohlke/pythonlibs/ 中找到你需要的版本scipy 例如windows 64 位 Python2.7 对应下载:scipy-0.18.0-cp27-cp27m-win_amd64.whl cd 下载scipy 目录下,安装 p
-
通过numba模块给Python代码提速的方法详解
简介:numba是Anaconda公司开发的针对Python的开源JIT编译器,用于提供Python版CPU和GPU编程,速度比原生Python快数十倍.numba是第三方库,可以在运行时将Python代码编译为本地机器指令,而不会强制大幅度的改变普通的Python代码,使得在部分场景下执行Python的效率得到飞速的提升. 工作原理对比: Python文件执行过程 1..py文件通过解释器转化为虚拟机可以执行的字节码(.pyc):字节码在虚拟机上执行,得到结果. 2.字节码是一种只能运行在虚拟
-
Python实现创建模块的方法详解
目录 楔子 __import__ importlib.machinery 通过 module 类创建模块 将一个类的实例变成一个模块 小结 楔子 导入一个模块,我们一般都会使用 import 关键字,但有些场景下 import 难以满足我们的需要.所以除了 import 之外还有很多其它导入模块的方式,下面就来介绍一下. __import__ 这是一个内置函数,解释器在 import 的时候,实际上就执行了这个函数. # import os 等价于如下方式 os = __import__("os
-
把JSON数据格式转换为Python的类对象方法详解(两种方法)
JOSN字符串转换为自定义类实例对象 有时候我们有这种需求就是把一个JSON字符串转换为一个具体的Python类的实例,比如你接收到这样一个JSON字符串如下: {"Name": "Tom", "Sex": "Male", "BloodType": "A", "Hobbies": ["篮球", "足球"]} 我需要把这个转换为具
随机推荐
- Perl脚本检测一个域名是否有效
- Ruby配置rspec和RestClient来检测服务器
- Mysql中基本语句优化的十个原则小结
- java直接插入排序示例
- ASP.NET 页面传值常用方法总结
- 微信获取用户地理位置信息的原理与步骤
- Python设计模式之单例模式实例
- C#伪彩色处理的具体方法
- 详解vue中computed 和 watch的异同
- C#动态生成PictureBox并指定图片的方法
- 基于jQuery滑动杆实现购买日期选择效果
- Hibernate的Annotation版Hello world实例
- 又一个图片自动缩小的JS代码
- List the Stored Procedures in a SQL Server database
- PHP实现合并两个有序数组的方法分析
- 常见的浏览器存储方式(cookie、localStorage、sessionStorage)
- Pycharm新建模板默认添加个人信息的实例
- javascript面向对象三大特征之封装实例详解
- 与Django结合利用模型对上传图片预测的实例详解
- 用Pelican搭建一个极简静态博客系统过程解析