内置函数和列表生成式

内置函数

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)
posted @ 2019-04-28 14:13  狂爷  阅读(166)  评论(0编辑  收藏  举报