filter和sorted
1、Python内建的filter()函数用于过滤序列,接受两个入参,将返回为True的保留
def is_odd(x):
return x%2 == 1
re = [1,2,3,4]
s = filter(is_odd,re)
print(s)
print(list(s))
返回结果为:
<filter object at 0x0000000003934E80>
[1, 3]
filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。
2、Python内置的sorted()函数可以对list排序,默认按从小到大排序
s = [-1,5,-3,2]
s1 = sorted(s)
print(s1)
输出结果:[-3, -1, 2, 5]
还可以按指定规则排序,例如以下可实现按绝对值由小到大排序
s = [-1,5,-3,2]
s1 = sorted(s, key = abs)
print(s1)
输出结果为:[-1, 2, -3, 5]
若要按绝对值大小由大小排序可加reverse=True反转:
s = [-1,5,-3,2]
s1 = sorted(s, key = abs, reverse=True)
print(s1)
输出结果为:[5, -3, 2, -1]