一、循环调用函数filter和map
sorted()可以对字符串进行排序,并已列表的形式展现,传入reverse=True参数,可使字符串倒序展示。
s='478142' l = ['42','2','1','a','c','z','f'] print(sorted(l,reverse=True)) print(sorted(s)) >>['z', 'f', 'c', 'a', '42', '2', '1'] >>['1', '2', '4', '4', '7', '8']
map函数与其他方法对比:
生成一个列表,从1-33,1位自动补0,即01-33:
首先先自己写一个zifill方法,方便下面调用
def zfill(num): num = str(num) if len(num)==1: num = '0'+num return num
方法一:
l = [] for i in range(1,34): result = zfill(i) l.append(result) print(l) >>['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']
方法二:
l = [ zfill(i) for i in range(1,34) ] print(l) >>['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']
方法三,使用map:
这里map的作用就是,循环zfill函数。map()是 Python 内置的高阶函数,在Python3.0版本中,它接收一个函数 function 和一个 list,并通过把函数 function 依次作用在 list 的每个元素上,返回一个list的遍历对象。如果想得到一个list列表,则用list(map())进行强制转换。而在Python2.0中是返回一个list列表。
l = list(map(zfill,range(1,34))) print(l) >>['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']