Python3基础12(collections、struct、itertools、chardet等的使用)
import struct
import base64import itertoolsimport 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() # 把迭代器中相邻的重复元素挑出来放在一起,返回值做为组的keyfor 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)
转载于:https://www.cnblogs.com/NiceTime/p/10089510.html
Python3基础12(collections、struct、itertools、chardet等的使用)相关推荐
- Python3 基础
Python3 基础知识笔记 ##################################################################################### ...
- 整理了100道关于Python3基础知识的练习题,记得收藏
100道关于Python3基础知识的练习题 实例1.数字组合 实例2.个税计算 实例3.完全平方数 实例4.这天第几天 实例5.三数排序 实例6.斐波那契数列 实例7.copy 实例8.九九乘法表 实 ...
- Python3 基础语法
Python3 基础语法 编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -*- coding: ...
- python3 基础题目练习
python3 基础题目练习 零 前言 一 python3 基础题目 1 题目:斐波那契数列 1.2 题目:(斐波那契数列) 兔生兔 2 题目:输出 9*9 乘法口诀表 3 题目:格式化当前时间 4 ...
- 01月26日【Python3 基础知识】
01月26日[Python3 基础知识] 5.1 九宫格 5.2 函数入门 5.3 判断某天为某年的第几天 5.1 九宫格 import random x = 0 l = [1,2,3,4,5,6,7 ...
- python计算1到100的和-Python3基础 sum,range 计算1到100的和
镇场诗: ---大梦谁觉,水月中建博客.百千磨难,才知世事无常. ---今持佛语,技术无量愿学.愿尽所学,铸一良心博客. --------------------------------------- ...
- Python3 基础学习笔记 C08 【类】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python拾遗1:collections、itertools和内存io
Python拾遗1:collections.itertools和内存io 转自:https://www.liaoxuefeng.com/wiki/1016959663602400 本系列旨在补充pyt ...
- Python3基础知识
Python3基础知识 学习路线主要参照:菜鸟教程 和 Python教程2020版 一.Python简介 1. What is Python? Python 是一个高层次的结合了解释性.编译性.互动性 ...
最新文章
- 使用关键点进行小目标检测
- 2017-06-08 前端日报
- PAT甲级1102 Invert a Binary Tree:[C++题解]反转二叉树、递归
- Ubuntu13.10下编译安装opencv2.4.9
- go语言中的闭包结构
- 给一个不多于5位的正整数,求出它是几位数?
- “换标”Intel的穷则思变
- 零的突破!炸出圈的“女娲补天”教授获国家杰青!
- Cisco 利用 802.1X、动态VLAN和DHCP技术实现方案
- Ffmpeg快速应用开发
- SpringMVC框架第三天
- ack过来服务器未响应,DHCP服务器问题:抓不到ACK包
- 简单测试std::move
- Silverlight 5 RC新特性探索系列:15.Silverlight 5 RC 对OpenType字体属性的支持
- Java 总结4 数据流 文件处理
- C51单片机数码管静态显示(附源码及工程)
- java商城有怎么样的优势,关于java商城系统的优势介绍
- 2020 CCPC - 网络选拔赛 签到计划
- 大败局:知名企业的失败教训
- iot-Scada免费Scada组态软件系列教程4-二次开发与版本部署