import struct
import base64
import itertools
import chardet
from collections import namedtuple,defaultdict,OrderedDict,Counter
# namedtuple 新建1个元组,并设置元素的属性和个数
# namedtuple('名称','列表')
# 例如 namedtuple('Circle', ['x', 'y', 'r']) # dqueue 高效插入和删除操作的双向列表,适合于队列和栈 # defaultdict 用于键不存在时,返回一个默认值,用于字典中
# 创建默认值的字典
# defaultdict(lambda :'n/a') # ChainMap # OrderedDict 使字典有序,用 OrderedDict 按照插入的顺序排列
# 为FIFO(先进先出)的dict,当字典满时,需要再插入数据,会删除最早插入的数据 # Counter 统计字符中各字符的个数
c=Counter()
for i in 'this is a stirng':
c[i]=c[i]+1 print(c)
#base64 用64个字符,表示二进制数据的一种方式,用于处理二进制数据与字符串之间进行转换,可被认为是进行简单加密和解密
# 每3个字节一组 共3*8=24bit 每组6bit
# 二进制数据不足3的倍数,则在\x00后加上不定数的=,加几个=,则表示补了几个字节
# 适用于不重要的信息进行加密,一般用户证书 cookie 网页 及在url传输少量二进制数据 # struct 用于处理bytes与其他二进制数据之间的转换 # 任意类型->bytest
# > 网络序 I 无符号整数
result=struct.pack(">I",24)
print(result) # bytes->任意类型
# 后面的bytes依次变为I H 4字节无符号整数 I 2字节无符号整数
result=struct.unpack(">IH",b'\xf0\xf0\xf0\xf0\x80\x80')
print(result) # itertools 用于操作迭代对象 #把一个序列无线重复下去
# itertools.cycle() #把一个元素无线重复下去,除非指定次数
# itertools.repeat() # 可通过条件判断取出一个有限序列
c=itertools.count(1,5)
r=itertools.takewhile(lambda x:x<=10,c)
print(list(r)) # 可以把一组迭代对象串联起来,形成一个更大的迭代器
itertools.chain() # 把迭代器中相邻的重复元素挑出来放在一起,返回值做为组的key
for key,group in itertools.groupby("testing",lambda t:t.upper()):
print(key,list(group)) # xml 用于处理xml格式文件及格式数据
# sax:流模式 边解析边读,占用内存小,解析快,需要自定义处理事件
# dom:树模式 解析慢 占用内存大,但可以遍历任意节点 # chardet 用于检测对象使用了哪类编码
# result=chardet.detect(b"test")
data="test".encode('utf-8')
result=chardet.detect(data)
print(result)

Python3基础12(collections、struct、itertools、chardet等的使用)的更多相关文章

  1. 十二. Python基础(12)--生成器

    十二. Python基础(12)--生成器 1 ● 可迭代对象(iterable) An object capable of returning its members one at a time. ...

  2. [.net 面向对象编程基础] (12) 面向对象三大特性——继承

    [.net 面向对象编程基础] (12) 面向对象三大特性——继承 上节我们说了面向对象的三大特性之一的封装,解决了将对同一对象所能操作的所有信息放在一起,实现统一对外调用,实现了同一对象的复用,降低 ...

  3. python3基础视频教程

    随着目前Python行业的薪资水平越来越高,很多人想加入该行业拿高薪.有没有想通过视频教程入门的同学们?这份Python教程全集等你来学习啦! python3基础视频教程:http://pan.bai ...

  4. Python3基础-特别函数(map filter partial reduces sorted)实例学习

    1. 装饰器 关于Python装饰器的讲解,网上一搜有很多资料,有些资料讲的很详细.因此,我不再详述,我会给出一些连接,帮助理解. 探究functools模块wraps装饰器的用途 案例1 impor ...

  5. 2. Python3 基础入门

    Python3 基础入门 编码 在python3中,默认情况下以UTF-8编码.所有字符串都是 unicode 字符串,当然也可以指定不同编码.体验过2.x版本的编码问题,才知道什么叫难受. # -* ...

  6. 『Python基础-12』各种推导式(列表推导式、字典推导式、集合推导式)

    # 『Python基础-12』各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的 ...

  7. python基础===Python 迭代器模块 itertools 简介

    本文转自:http://python.jobbole.com/85321/ Python提供了一个非常棒的模块用于创建自定义的迭代器,这个模块就是 itertools.itertools 提供的工具相 ...

  8. python002 Python3 基础语法

    python002 Python3 基础语法 编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -* ...

  9. Python3基础(十二) 学习总结·附PDF

    Python是一门强大的解释型.面向对象的高级程序设计语言,它优雅.简单.可移植.易扩展,可用于桌面应用.系统编程.数据库编程.网络编程.web开发.图像处理.人工智能.数学应用.文本处理等等. 在学 ...

随机推荐

  1. hibernate查询的方式和变量

    1.实体查询: hql="FROM User"; List list= session.createQuery(hql).list(); for(Object obj:list){ ...

  2. ADT-23.0.2百度网盘下载地址

    最近 Google 被墙 http://download.csdn.net/download/wentai2009/7736389

  3. adnroid 启动是没有标题栏

    <activity android:name=".MainActivity" android:theme="@android:style/Theme.Light.N ...

  4. Python包管理工具setuptools详解及entry point

    1.什么是setuptools? setuptools是Python distutils增强版的集合,它可以帮助我们更简单的创建和分发Python包,尤其是拥有依赖关系的.用户在使用setuptool ...

  5. GXU - 7D - 区间求和 - 前缀和

    https://oj.gxu.edu.cn/contest/7/problem/D 描述 有一个所有元素皆为0的数组A,有两种操作: 1 l r x表示将A区间[l,r]内所有数加上x: 2 l r表 ...

  6. spark 机器学习 朴素贝叶斯 实现(二)

    已知10月份10-22日网球场地,会员打球情况通过朴素贝叶斯算法,预测23,24号是否适合打网球.结果,日期,天气 温度 风速结果(0否,1是)天气(0晴天,1阴天,2下雨)温度(0热,1舒适,2冷) ...

  7. 使用shell脚本分析Nagios的status.dat文件

    前言 Nagios的安装和配置以及批量添加监控服务器在我前面的文章中已经讲的很详细了. 我们知道,Nagios的网页控制页面(一般为http://nagio.domain.com/nagios)里可以 ...

  8. B.Grid with Arrows-The 2019 ICPC China Shaanxi Provincial Programming Contest

    BaoBao has just found a grid with $n$ rows and $m$ columns in his left pocket, where the cell in the ...

  9. iOS导航栏添加返回按钮的方式

    UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithTitle:@"返回上级界面" style:UIBarBu ...

  10. rancher中级(一)(rancher的存储,网络)

    容器的存储机制 参考 http://dockone.io/article/128:http://dockone.io/article/129: Docker镜像是由多个文件系统(只读层)叠加而成.当我 ...