描述:
- filter()函數用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
- 接收兩個參數,第一個為函數,第二個為序列,序列的每個元素作為參數傳遞給函數進行判斷,返回True或False,將返回True的元素放到新列表中。
語法:
filter(function, iterable)
參數:
- function:判斷函數
- iterable:可迭代對象
返回值:
- 列表
實例:
# 過濾列表中所有奇數 def is_odd(n): return n % 2 == 1 newlist = list(filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])) print(newlist)
輸出結果:
[1, 3, 5, 7, 9]
# 過濾出1~100中平方根是整數的數: import math def is_sqr(x): return math.sqrt(x) % 1 == 0 newlist = list(filter(is_sqrt, range(1, 101))) print(newlist)
輸出結果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
當出現這種錯誤時,是因為沒將filter函數轉換成list。

