python filter_Python filter()

python filter

Python filter() function is used to filter the elements of an iterable based on a function. This function returns filter object that is an iterator.

Python filter()函数用于基于函数过滤可迭代的元素。 此函数返回作为迭代器的 filter对象。

Python filter() (Python filter())

Python filter() function syntax is:

Python filter()函数语法为:

filter(function, iterable)

function will be called on iterable elements and if it returns True then they will be part of the returned iterator.

function将在iterable元素上调用,如果返回True则它们将成为返回的迭代器的一部分。

We can also pass the function as None, in that case, standard truth testing rules will be followed to determine if the iterable elements are True or False. You can get more details about them in Python bool example.

我们还可以将函数传递为None ,在这种情况下,将遵循标准的真相测试规则来确定可迭代元素是True还是False。 您可以在Python bool示例中获取有关它们的更多详细信息。

Python filter()示例 (Python filter() example)

Let’s define a function to check if the input number is even or not. It will return True if the number is even, else False.

让我们定义一个函数来检查输入数字是否为偶数。 如果数字为偶数,它将返回True,否则返回False。

We will also define a utility function to print elements of the iterator.

我们还将定义一个实用程序函数来打印迭代器的元素。

def is_even(x):
    if x % 2 == 0:
        return True
    else:
        return False


def print_filter_items(my_filter):
    for item in my_filter:
        print(item, end=' ')
    print()

Let’s use filter() function to get an iterator of even numbers only from the input iterable of integers. We will use tuple and list for our example, both of them are iterable.

让我们使用filter()函数仅从输入的可迭代整数中获取偶数的迭代器。 我们将在示例中使用元组列表 ,它们都是可迭代的。

l1 = [1, 2, 3, 4, 5]
fl = filter(is_even, l1)
print(type(fl))
print_filter_items(fl)

t = (1, 2, 3, 4, 5)
fl = filter(is_even, t)
print_filter_items(fl)

Output:

输出:

<class 'filter'>
2 4 
2 4

带有None函数的Python filter()示例 (Python filter() example with None function)

t = (True, False, 1, 0, 0.0, 0.5, '', 'A', None)
fl = filter(None, t)
print_filter_items(fl)

Output:

输出:

True 1 0.5 A

Notice that zero, empty string, False and None are filtered out because their boolean value is False.

请注意,零,空字符串,False和None被过滤掉,因为它们的布尔值是False。

GitHub Repository. GitHub存储库中检出完整的python脚本和更多Python示例。

Reference: Official Documentation

参考: 官方文档

翻译自: https://www.journaldev.com/22816/python-filter

python filter

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值