推导式以及常用模块

推导式

一、列表推导式

a=[1,2,3,4,5,6]
b=[i*i for i in a ]
print(b)
b=[i**2 for i in a if i%2==0 and i>2]
print(b)
a=[[1,2,3],[4,5,6],[7,8,9]]
b=[a[i][i] for i in range(len(a))]
print(b)

输出结果为:
在这里插入图片描述
二、字典推导式

a={"a":"b",1:2}
b={v:k for k,v in a.items()}
print(b)
a={k:v for k,v in zip("abc","123")}
print(a)
a={"a":1,"A":3,"b":4,"B":9,"c":10,"d":99}
x=["a","A","b","B","c"]
b={k.lower():a.get(k.lower(),0)+a.get(k.upper(),0) for k in a.keys() if k in x}
print(b)

输出结果为:
在这里插入图片描述
三、集合推导式

a=[1,2,3,4,5,6,1,3,4,2]
b={i*i for i in a}
print(b)

输出结果为:
在这里插入图片描述

常用模块

一、random模块
随机小数

   1.random()随机产出大于0且小于1的小数
   2.uniform(a,b)产生指定范围内的小数

随机整数

	1.randint(a,b) 随机产生a,b范围内的整数,包含开头和结尾
	2.randrange(start,end,【step】)
	产生start到end范围内的整数,包含开头不包含结尾,可以指定步长

随机选择一个数据

    1.random.choice(list)随机返回序列中的一个数据

打乱

   1.shuffle()  打乱列表数据

验证码程序

def yzm():
    code=""
    for i in range(4):
        sz=chr(random.randint(48,57))
        xxzm=chr(random.randint(97,122))
        dxzm=chr(random.randint(65,90))
        c=random.choice([sz,xxzm,dxzm])
        code+=c
    return code
print(yzm())

二、time模块

	1.time.sleep() 
		睡眠功能,让程序等待多少秒后再执行
	2.时间戳
		time.time()  
		时间戳表示的是从1997年1月1日00:00:00开始到现在的秒值,返回的是float类型
	3.时间元组
		time.localtime()
		获取当前时间元组,可以在括号中传入时间戳,返回的就是指定的时间戳的时间元组
	4.时间字符串格式化
		time.strftime(“%Y-%m-%d %H:%M:%S”,时间元组 )
	5.时间字符串转换为时间元组
		time.strptime(时间字符串,字符串对应格式)
	6.时间元组转换为时间戳
		time.mktime() 
	7.UTC时间
	time.gmtime()返回的是UTC时间比北京时间少8小时

银行卡解冻程序:

while True:
    a='2019-07-24 17:04:00'
    ap=time.strptime(a,"%Y-%m-%d %H:%M:%S")  # 获取冻结时间的时间元组
    at=time.mktime(ap)  # 获取冻结时间的时间戳
    b=time.time()  # 获取当前时间的时间戳
    c=b-at  # 获取已过时间的秒数
    d=7*24*3600  # 获取7天的秒数
    sytime=d-c  # 获取还剩多少时间的秒数
    day = int(sytime // (3600*24))  # 剩余天数
    hour = int(sytime % (3600 * 24) // 3600)  # 剩余时间
    minute =int( sytime % 3600 // 60)  # 剩余分钟
    sec = int(sytime % 60)  # 剩余秒数
    print("还有{}天{}小时{}分钟{}秒解冻".format(day,hour,minute,sec))
    time.sleep(1)

输出结果为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值