filter函數
filter(self, /, *args, **kwargs) # 過濾
filter() 函數用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
該接收兩個參數,第一個為函數,第二個為序列,序列的每個元素作為參數傳遞給函數進行判,然后返回 True 或 False,最后將返回 True 的元素放到新列表中。
例如:實例
def is_odd(n):
return n % 2 == 1
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)
結果:
[1, 3, 5, 7, 9]
lambda函數
Lambda 函數又稱匿名函數,即用句子實現函數的功能
看個簡單 lambda 函數實例:
add = lambda x, y : x+y
add(1,2)
結果:
3
filter和lambda使用
實例:
img_names = list(filter(lambda x: x.endswith('.jpg'), img_names))
即過濾出img_names中以.jpg后綴的元素