内置函数和列表生成式
内置函数
import os
s = '47298521'
l = [1,23,24,12,6]
print(sorted(l,reverse=True)) #sorted排序,reverse反转
print(sorted(s))
#map 循环调用函数,获取到函数的返回结果
#filter 过滤 循环调用函数,把返回为真的传入参数保存
#创建文件夹
#list(map(os.mkdir,('123','234'))) #list、元祖都可以[]、()
#直接调用map不会产生作用,和迭代器有关 yield
#filter
# import random
# for i in range(10):
# res = random.sample(range(10,101),10)
# print(res)
score = [13, 42, 89, 15, 49, 79, 92, 47, 56, 52]
def is_jg(s):
if s>59:
return True
# jg = []
# for i in score:
# if is_jg(i):
# jg.append(i)
# print(jg)
resault = list((filter(is_jg,score)))
resault2 = list((map(is_jg,score)))
print(resault)
print(resault2)
结果:
[89, 79, 92]
[None, None, True, None, None, True, True, None, None, None]
filter:把函数返回为真的参数存入结果返回
map:直接返回函数的返回值
列表生成式
import os
#列表生成式举例
l = []
#01 02 03 -->10
for i in range(1,11):
l.append(str(i).zfill(2))
print(l)
#列表生成式方式
l2 = [ str(i).zfill(2) for i in range(1,11)]
print(l2)
#用列表生成式创建10个文件
#l3 = [ os.mkdir(str(i)) for i in range(1,11)]
#l4 = [ open('%s.txt'%i,'w') for i in range(1,11) if i%2==0] #只能加一个if,不能加else
sex_tag = 0
if sex_tag==0:
sex = '女'
else:
sex = '男'
#三元表达式
sex = '女' if sex_tag==0 else '男' #满足if条件取前面的值,不满足取else后面的值
print(sex)
三种方法创建zfile之后的数字list
def zfill(num):
num = str(num)
if len(num)==1:
num = '0'+num
return num
#01-33
#第一种写法
l = []
for i in range(1,34):
resault = zfill(i)
l.append(resault)
print(l)
#第二种写法,列表生成式
l = [zfill(i) for i in range(1,34)]
print(l)
#第三种写法,map
resault = list(map(zfill,range(1,34))) #需要转换成list才能看到结果
print(resault)