filter() #将内容按规则过滤
def is_odd(x):
return x%2 == 1
ret = filter(is_odd,[1,2,3,4,5,6,7,8,9])
print(ret) #返回迭代器,节约内存
for i in ret:
print(i)
#效果等同列表表达式 [i for in in[1,2,3,4,5,6,7,8,9] if i % 2 ==1]
#filter里的函数可以很复杂
################################################
求1-100内平方根是整数的
from math inport sqrt
def func(x):
res = sqrt(x)
return res %1 ==0
ret = filter(func,range(1,101))
###############################################
map() #将内容按规则处理
ret = map(abs,[1,-4,6,-8])
for i in ret
print(i)
################################################
sorted() #按规则排序,生成新列表(占内存),.sort改原列表
l = [1,-4,6,5,-10]
l.sort(key = abs) #key = 后面跟函数,abs,len之类的
print(l)
print(sorted(l,key = abs,reverse = Ture))
#按长度排序:
l = [' ',[1,2],'Hello world']
lis1 = sorted(l, key=len)
print(lis1)