python-26-其他常用模块(一)

前言
常用模块自然是我们用python语言日常中常用到的模块,比如前面说的re,但是还是有比较多是常用的默认,我们一起了解下。
一、collections模块
在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。
多认识下其它的数据类型:

  1. namedtuple: 生成可以使用名字来访问元素内容的tuple
  2. queue:队列先进先出
  3. deque: 双端队列,可以快速的从另外一侧追加和推出对象
  4. OrderedDict: 有序字典
  5. defaultdict: 带有默认值的字典
  6. Counter: 计数器,主要用来计数
1、namedtuple 生成可以使用名字来访问元素内容的tuple
# 1、namedtuple 生成可以使用名字来访问元素内容的tuple from collections import namedtuple Point = namedtuple('Point', ['x', 'y', 'z']) p = Point(1, 6, 5) print(p.x) print(p.y) print(p.z) print(p)

python-26-其他常用模块(一)
文章图片

2、queue: 队列先进先出
# 2、queue: 队列先进先出 import queue q = queue.Queue() q.put(10) q.put(4) q.put(6) print(q.get()) print(q.get()) print(q.get()) print(q.get())# 最后取不到一直在等待,直到有新的值进来 print(q.qsize())# 查看还有多少个值可以取

python-26-其他常用模块(一)
文章图片

3、dueue双端队列,可以快速的从另外一侧追加和推出对象
# 3、dueue双端队列,可以快速的从另外一侧追加和推出对象 from collections import deque dq = deque([2, 3]) dq.append(4)# 从后面放数据 dq.appendleft(1)# 从前面放数据 dq.insert(4, 5)# index插入数据 print(dq) print(dq.pop())# 从后面取数据 print(dq.popleft())# 从前面取数据 print(dq)

python-26-其他常用模块(一)
文章图片

4、OrderedDict的Key是有序的
# 4、OrderedDict的Key是有序的 from collections import OrderedDict od = OrderedDict([('a', 1), ('b', 2), ('c', 3)]) print(od['a']) for k in od: print(od[k])

python-26-其他常用模块(一)
文章图片

5、defaultdict,实例,将大于55放入k1,否则放入k2
from collections import defaultdict values = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90] my_dict = defaultdict(list) for value in values: if value>55: my_dict['k1'].append(value) else: my_dict['k2'].append(value) print(my_dict)

python-26-其他常用模块(一)
文章图片

使用dict时,如果引用的Key不存在,就会抛出KeyError。如果希望key不存在时,返回一个默认值,就可以用
from collections import defaultdict d = defaultdict(lambda: 5) print(d['k'])

6、Counter 将元素作为key,其计数作为value
from collections import Counter c = Counter('zzasdhasidhiohs') print(c)

python-26-其他常用模块(一)
文章图片

二、time模块
python当中,和时间有关系的通常用time模块有这三种方式:
  • 1.格式化的时间字符串
  • 2.时间戳
  • 3.结构化时间,元组()
1、strftime:格式化的时间字符串:年月日 时间
# 1、strftime:格式化的时间字符串:年月日 时间 import time print(time.strftime('%Y-%m-%d %H:%M:%S')) print(time.strftime('%Y-%m-%d %H:%M')) print(time.strftime('%Y-%m-%d')) print(time.strftime('%H:%M'))

python-26-其他常用模块(一)
文章图片

2、时间戳:time.time()
# 2、时间戳:time.time() import time print(time.time())

python-26-其他常用模块(一)
文章图片

3、localtime:结构化时间,元组()
# 3、localtime:结构化时间,元组() import time loc_time = time.localtime() print(loc_time) print(loc_time.tm_year)

python-26-其他常用模块(一)
文章图片

时间转换:
1、时间戳转换结构化时间转换
# 1、时间戳转换结构化时间转换 import time t = time.time() print(time.localtime(t)) print(time.gmtime(t))

2、结构化时间转换转换时间戳
# 2、结构化时间转换转换时间戳 import time q = time.localtime() print(time.mktime(q))

3、字符串格式化时间转换结构化时间
# 3、字符串格式化时间转换结构化时间 import time print(time.strptime('2020.3.8', '%Y.%m.%d')) print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(3500000000)))

asctime、ctime转换:
# asctime、ctime转换 import time print(time.asctime())# 结构化时间转字符串格式化时间Sun Mar8 22:27:26 2020 print(time.ctime())# 时间戳转字符串格式化时间: Sun Mar8 22:27:26 2020

【python-26-其他常用模块(一)】 欢迎来大家QQ交流群一起学习:482713805

    推荐阅读