python随机模块random的妙用
一、随机获取两个时间点之间的任意一个日期
random.random()返回一个0-1之间的浮点数,再乘以一个日期间隔,加上start时间,便可以获取两个时间节点之间任意一个日期
import datetime, random
def randomdate(start, end, frmt="%Y-%m-%d"):
stime = datetime.datetime.strptime(start, frmt)
etime = datetime.datetime.strptime(end, frmt)
distance = random.random() * (etime - stime)
newdate = stime + distance
return newdate.date()
print(randomdate('2018-1-1', '2018-6-1'))
输出结果:2018-03-13
二、随机取样
测试模型的时候需要大量applist判断模型输出结果,可以考虑对一个列表进随机取样,借助random.sample()
import random
def choose_app(appstr,num):
applist = appstr.split(',')
appstr_choosed = ''
print(len(applist))
if len(applist) >= num:
app_choosed = random.sample(applist,num)
appstr_choosed = ','.join(app_choosed)
return appstr_choosed
apps = "共享单车,中国农业银行,随手记Dev,招商银行,铁路12306,微信,随管家,中国银行,应用宝,鹏鹏学车,QQ浏览器,微信读书,卡牛信用管家,QQ,驾校一点通,摩拜单车,滴滴企业版,云之家,多点,QPythonL,手机淘宝,掌上生活,支付宝"
app_new = choose_app(apps, 10)
print(app_new)
输出结果:应用宝,微信读书,摩拜单车,多点,铁路12306,QQ,驾校一点通,QPythonL,鹏鹏学车,应用宝