map()函数
map()是Python内置的高阶函数,它接收一个函数f和一个list,并通过把函数f依次作用在li
st的每个元素上,得到一个新的list并返回。
例如,对于list[1,2,3,4,5,6,7,8,9]
如果希望
returnsandlen(())>0
filter(is_not_empty,['test',None,'','str','
','END'])
结果:['test','str','END']
注意:(rm)删除s字符串中开头、结尾处的rm序列的字符
当rm为空时,默认删除空白符(包括'\n','\r','\t',''),如下:
a='123'
()
结果:'123'
a='\t\t123\r\n'
()
结果:’123'
请利用filter()过滤出1~100中平方根是整数的数,即结果应该是:
[1,4,9,16,25,36,49,64,81,100]
filter()接收的函数必须判断出一个数的平方根是否是整数,()返回结果是浮点数。
参考代码:
importmath
defis_sqr(x):
r=int((x))
returnr*r==x
printfilter(is_sqr,range(1,101))
日定义排序函数sorted()
Python内置的sorted()函数可对list进行排序:
>>>sorted([36,5,12,9,21])
[5,9,12,21,36]
但sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素x,y,如果x应该排在y的前面,返回-1,如果x应该排在y的后面,返回1。如果x和y相等,返回0。
因此,如果我们要实现倒序排序,只需要编写一个reversed_cmp函数:
defreversed_cmp(x,y):
|_ifx>y:|
return-1
|_ifx<y:|
return1
return0
这样,调用sorted()并传入reversed_cmp就可以实现倒序排序:
>>>sorted([36,5,12,9,21],reversed_cmp)
[36,21,12,9,5]
sorted()也可以对字符串进行排序,字符串默认按照ASCII大小来比较:
>>>sorted(['bob','about','Zoo','Credit'])
['Credit','Zoo','about','bob']
'Zoo'排在'about'之前是因为'Z'的ASCII码比'a'小。
对于比较函数cmp_ignore_case(s1,s2),要忽略大小写比较,就是先把两个字符串都变成大写(或者都变成小写),再比较。
参考代码:
defcmp_ignore_case(s1,s2):
u1=()
u2=()|
ifu1<u2:|
return-1
ifu1>u2:
return1
return0
printsorted(['bob','about','Zoo','Credit'],cmp_igno
python常用函数 来自淘豆网m.daumloan.com转载请标明出处.