首页 > 编程语言 > 详细

python(五)模块

时间:2019-05-06 20:18:07      阅读:174      评论:0      收藏:0      [点我收藏+]

列表生成式

需求:要产生1-10的随机数字,不足两位的前面补0,注意01,02,03......前面补了0就不是int类型所以要转换为字符串,1,2,3.....这样的才属于int类型

正常的写法:

f = [ ]
for i in range(1,11):
f.append(str(i).zfill(2))#因为要产生两个数字,不足补0,01,02不是int类型是字符串
print(f)
打印结果:
[‘01‘, ‘02‘, ‘03‘, ‘04‘, ‘05‘, ‘06‘, ‘07‘, ‘08‘, ‘09‘, ‘10‘]

列表生成式的写法:

f1 =[str(i).zfill(2) for i in range(1,11)]
print(f1)
打印结果:

[‘01‘, ‘02‘, ‘03‘, ‘04‘, ‘05‘, ‘06‘, ‘07‘, ‘08‘, ‘09‘, ‘10‘]

用列表生成式写出创建10个文件及10个文件夹:

#创建10个txt文件
f1 =[open(‘%s.txt‘%i,‘w‘) for i in range(10)]

#创建10个文件夹
import os
f2= [os.mkdir(str(i)) for i in range(10)]#文件夹名字类型不能是数字需先转为字符串

三元表达式

三元表达式的写法:

sex_tag = 0
if sex_tag == 0:
sex=‘女‘
else:
sex=‘男‘
#上面的判断写成三元表达式:
sex =‘女‘ if sex_tag == 0 else sex=‘男‘ #if满足取前面否则取后面

排序写法:

#升序的排列
s=‘1283225‘
f=[‘42‘,‘2‘,‘1‘]
print(sorted(f))
print(sorted(s))
打印结果:

[‘1‘, ‘2‘, ‘42‘]
[‘1‘, ‘2‘, ‘2‘, ‘2‘, ‘3‘, ‘5‘, ‘8‘]

#降序排列
s=‘1283225‘
f=[‘42‘,‘2‘,‘1‘]
print(sorted(f,reverse=True))
print(sorted(s,reverse=True))
打印结果:

[‘42‘, ‘2‘, ‘1‘]
[‘8‘, ‘5‘, ‘3‘, ‘2‘, ‘2‘, ‘2‘, ‘1‘]

python的内置函数补充

map,filter这两个函数的作用是:循环调用函数

 

python(五)模块

原文:https://www.cnblogs.com/dmbk/p/10821427.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!