python cdr_Python 常用模块简析

reandom:随机数获取

random.random():获取[0.0,1.0)之间内的随机浮点数。

print(random.random())# 不包含1,取不到1.0

random.randint(a,b):获取指定[a,b]区间内的随机整数。

print(random.randint(3, 5))# 随机获取3到5之间的整数,可以取到3和5

random.uniform(a,b):获取[a,b)范围内的随机浮点数。

print(random.uniform(3, 5))# 随机获取3到5(不包含5)之间的随机浮点数

random.shuffle(x):混洗,把参数所包含的元素进行打乱,x必须为可变数据类型。

list1 = list(range(10))

random.shuffle(list1)

print(list1)

random.sample(x,k):随机取样,从x中随机抽取k个数据,组成一个列表返回。

random.choice(x):从x(元组或列表)中随机抽取一个元素

# tuple元组是不可变数据类型,可以通过random.sample()函数实现打乱顺序

tup = tuple(range(10))

print(random.choice(tup))# 从tup中随机抽取一个元素返回

lst = random.sample(tup, len(tup)) # 从tup中提取全部元素进行随机排序,返回一个列表

print(lst)

# 此功能一般用于在某个序列内随机取样。

random.choices(population,weights=None,*,cum_weights=None,k=1):从指定序列中随机抽取k次数据,返回一个列表,可以设置权重

population:集群。

weights:相对权重。

cum_weights:累加权重。

k:选取次数。

注意:每次选取都不会影响原序列,每一次选取都是基于原序列

import random

a = [1,2,3,4,5]

print(random.choices(a,k=6))

解析:重复6次从列表a中的各个成员中选取一个数输出,各个成员出现概率基本持平。

结果:[5, 4, 5, 4, 1, 3](随机生成的)

print(random.choices(a,weights=[0,0,1,0,0],k=6))

解析:重复6次从列表a中提取3,最终得到[3, 3, 3, 3, 3, 3]

结果:[3, 3, 3, 3, 3, 3](固定结果)

print(random.choices(a,weights=[1,1,1,1,1],k=6))

解析:重复6次从列表a中的各个成员中选取一个数输出,各个成员出现概率基本持平。

结果:[5, 4, 3, 5, 4, 3](随机生成的)

print(random.choices(a,cum_weights=[1,1,1,1,1],k=6))

结果:[1, 1, 1, 1, 1, 1](固定结果)

参数weights设置相对权重,它的值是一个列表,设置之后,每一个成员被抽取到的概率就被确定了。

比如weights=[1,2,3,4,5],那么第一个成员的概率就是P=1/(1+2+3+4+5)=1/15。

cum_weights设置累加权重,Python会自动把相对权重转换为累加权重,即如果你直接给出累加权重,那么就不需要给出相对权重,且Python省略了一步执行。

比如weights=[1,2,3,4],那么cum_weights=[1,3,6,10]

这也就不难理解为什么cum_weights=[1,1,1,1,1]输出全是第一个成员1了。

time:和时间相关

这个模块封装了获取时间戳和字符串形式时间的一些方法。

时间戳:从时间元年(1970年1月1日0点0分0秒)到现在经过的秒数。print(time.time())

获取结构化时间对象:time.gmtime() 默认参数是当前系统时间的时间戳

print(time.gmtime())# 当前系统时间的格林尼治时间戳

>>>time.struct_time(tm_year=2020, tm_mon=12, tm_mday=4, tm_hour=8, tm_min=35, tm_sec=17, tm_wday=4, tm_yday=339, tm_isdst=0)

print(time.gmtime(1))# 获取时间元年后1秒的时间戳

>>>time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=0)

获取结构化本地时间对象:time.localtime()

用法与gmtime()方法一样,但获取得到的是当前时区的时间戳。

格式化时间对象和字符串之间的转换:

把格式化时间对象转换成字符串:time.strftime(字符串格式,时间戳)

s = time.strftime("%Y-%m-%d %H:%M:%S"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值