码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-03-09 13:18:12      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:com   交流   结构化   pre   有关   元组   ftime   引用   src   

前言

常用模块自然是我们用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)

技术图片

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())     # 查看还有多少个值可以取

技术图片

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)

技术图片

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])

技术图片

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)

技术图片

使用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)

技术图片

二、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))

技术图片

 2、时间戳:time.time()

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

技术图片

 3、localtime:结构化时间,元组()

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

技术图片

时间转换:

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 Mar  8 22:27:26 2020
print(time.ctime())     # 时间戳转字符串格式化时间: Sun Mar  8 22:27:26 2020

 欢迎来大家QQ交流群一起学习:482713805

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

标签:com   交流   结构化   pre   有关   元组   ftime   引用   src   

原文地址:https://www.cnblogs.com/gsxl/p/12445109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!