📜  Python filter()函数

📅  最后修改于: 2020-10-30 05:22:58             🧑  作者: Mango

Python filter()函数

Python filter()函数用于获取过滤后的元素。此函数有两个参数,第一个是函数,第二个是可迭代的。该滤波器函数返回从迭代的那些元件为哪些函数返回True的序列。

如果该函数不可用,则第一个参数可以为None,并且仅返回True元素。

签名

filter (function, iterable)

参量

函数:是一个函数。如果设置为None,则仅返回True元素。

可迭代:任何可迭代序列,例如list,tuple和字符串。

这两个参数都是必需的。

返回

它返回的结果与函数返回的结果相同。

让我们来看一些filter()函数的示例,以了解其功能。

Python filter()函数示例1

这个简单的示例使用过滤器函数返回大于5的值。请参见以下示例。

# Python filter() function example
def filterdata(x):
    if x>5:
        return x
# Calling function
result = filter(filterdata,(1,2,6))
# Displaying result
print(list(result))

输出:

[6]

Python filter()函数示例2

如果未传递任何函数,则此函数将第一个参数作为函数。它要求无传递通过,返回所有True值。请参见下面的示例。

# Python filter() function example
# Calling function
result = filter(None,(1,0,6)) # returns all non-zero values
result2 = filter(None,(1,0,False,True)) # returns all non-zero and True values
# Displaying result
result = list(result)
result2 = list(result2)
print(result)
print(result2)

输出:

[1, 6]
[1, True]

Python filter()函数示例3

# Python filter() function example
def mulof3(val):
    if val%3==0:
        return val
# Calling function
result = filter(mulof3,(1,3,5,6,8,9,12,14))
# Displaying result
result = list(result)
print(result) # multiples of 3

输出:

[3, 6, 9, 12]