一、collection模块
1、namedtuple :生成可以使用名字访问元素内容的tuple
from collections import namedtuple point=namedtuple(‘ppoint‘,[‘x‘,‘y‘,‘z‘]) p1=point(2,5,9) print(p1)
2、deque:生成双端数列,可以从两段进行添加和访问的数列
使用list存储数据时,按索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。deque是为了高效实现插入和删
除操作的双向列表,适合用于队列和栈。
deque除了实现list的append()
和pop()
外,还支持appendleft()
和popleft()
,这样就可以非常高效地往头部添加或删除元素。
from collections import deque qq=deque([1,3]) #从后面放数据 deque[1,3,‘a‘] qq.append(‘a‘) #从前面放数据 deque[‘g‘,1,3,‘a‘] qq.appendleft(‘g‘) print(qq)
3、OrderedDict 有序字典,将字典变成一个有顺序的字典。注意:OrderedDict会按照插入的顺序排列,而不是按照key本身
from collections import OrderedDict qq=OrderedDict([(‘a‘,1),(‘b‘,2),(‘c‘,3)]) qq[1]=‘a‘ qq[4]=5 qq[‘g‘]=‘k‘ print(qq.keys())
4、defaultdict:希望在dict中key不存在时,不是报错误,而是返回一个默认值,那么就用defaultdict
from collections import defaultdict dd=defaultdict(lambda :‘lalala‘) #默认返回值 dd[‘ab‘]=‘c‘ #赋值 print(dd[‘ab‘]) #‘ab‘的值存在 print(dd[‘bb‘]) #’bb‘的值不存在,返回 lalala
5、counter:用来统计值出现的次数,它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value。计数值可以是任意的Interger(包括0和负数)。Counter类和其他语言的bags或multisets很相似
from collections import Counter d=Counter(‘jndfsahfudf;kldafjdfbjSJIDJIOF‘) print(d)
二、time 时间模块
用时间模块之前应该导入事件模块
常用的方法:
time.time():获取当前的时间戳
time.sleep(secs):(线程)推迟指定的时间运行,单位为秒
1、表示时间的三种方式:
1、时间戳:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型
2、格式化的时间字符串(Format String): ‘1999-12-06’
3、元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)
时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的
2、struct_time(元祖)
time.localtime():将当前时间戳转化为当前时区struct_time
3、time.strftime():格式化时间字符串
>>>time.strftime("%Y-%m-%d %X") ‘2017-07-24 13:54:37‘ >>>time.strftime("%Y-%m-%d %H-%M-%S") ‘2017-07-24 13-55-04‘
原文地址:https://www.cnblogs.com/wyx666/p/8259092.html