内置函数补充--sorted && map,filter

 1 l = [34,3,5]
 2 l.sort()
 3 print(l)
 4 运行结果:[3, 5, 34]
 5 
 6 ---------------------------------------------------------------------------------------------------------
 7 s = '32456565436'
 8 l = [34,3,5]
 9 
10 print(sorted(l))
11 print(sorted(s))#字符串排序之后以列表的形式返回了
12 print(sorted(l,reverse=True))#反转
13 运行结果:
14 [3, 5, 34]
15 ['2', '3', '3', '4', '4', '5', '5', '5', '6', '6', '6']
16 [34, 5, 3]
 1 map & filter    
 2 map #循环调用函数,获取到函数的返回结果
 3 filter #过滤,循环调用函数,把传入的参数,真的保留下来
 4 
 5 #不用zfill方法 用函数实现补0
 6 
 7 def zfill(num):
 8     num = str(num)
 9     if len(num)==1:
10         num = '0'+num
11     return num
12 
13 #实现01-33 
14 【第一种实现方法】
15 l = []
16 for i in range(1,34):
17     result = zfill(i)
18     l.append(result)
19 print(l)
20 运行结果:['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33']
21 
22 #列表生成式的方法  【第二种实现方法】
23 l = [zfill(i) for i in range(1,34)]
24 print(l)
25 
26 #map方法 【第三种实现方法】
27 # result = map(zfill,range(1,34)) #生成的是map对象,所以要转换成list才能看到结果
28              #map第一个参数要指定函数名 #只能传一个参数
29 result = list(map(zfill,range(1,34))) #map循环去调用函数
30 print(result)
31 
32 #创建多个文件夹
33 import os
34 list(map(os.mkdir,['hah','hei','bai']))
35 
36 -------------------------------------------------------------------------------------------------------------------

 

 1 score = [89,46,60,52,45,37,66,100,21,24]
 2 
 3 def is_jg(s):
 4     if s>59:
 5         return True
 6 
 7 jg = []
 8 for i in score:
 9     if is_jg(i):
10         jg.append(i)
11 print(jg)
12 运行结果:[89, 60, 66, 100]
13 -------------------------------------------------------------------------------------------------------------
14 score = [89,46,60,52,45,37,66,100,21,24]
15 
16 def is_jg(s):
17     if s>59:
18         return True
19 
20 result = list(filter(is_jg,score))
21 result2 = list(map(is_jg,score))
22 
23 print('filter',result)
24 print('map',result2)
25 运行结果:filter [89, 60, 66, 100]
26                   map [True, None, True, None, None, None, True, True, None, None]

 

posted @ 2019-05-08 18:55  小仙女白  阅读(163)  评论(0编辑  收藏  举报