Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有人能给我解释一下filter()函数吗?_Python - Fatal编程技术网

Python 有人能给我解释一下filter()函数吗?

Python 有人能给我解释一下filter()函数吗?,python,Python,为什么它的输出是e 过滤元音的函数 def fun(variable): letters = ['a', 'e', 'i', 'o', 'u'] if (variable in letters): return True else: return False 序列 sequence = ['g', 'e', 'e', 'j', 'k', 's', 'p', 'r'] 使用过滤函数 filtered = filter(fun, seque

为什么它的输出是e

过滤元音的函数

def fun(variable):
    letters = ['a', 'e', 'i', 'o', 'u']
    if (variable in letters):
        return True
    else:
        return False
序列

sequence = ['g', 'e', 'e', 'j', 'k', 's', 'p', 'r']
使用过滤函数

filtered = filter(fun, sequence)

print('The filtered letters are:')
for s in filtered:
    print(s)
如果函数“fun”的参数是元音,则返回True。你看到了吧?如果添加
print(fun('b'))
(print(fun(e'))
,您可以看到这一点


filter
函数在其第二个参数中采用一个序列(可以是字符串、列表、元组,甚至dict)。对于该序列中的每个元素,一次调用一个,它在其第一个参数中调用该函数。如果该函数返回True,则筛选器将该元素添加到它返回的序列中。因此,
filtered
最终成为
sequence
其中
fun(x)的那些成员的序列
返回True。

在本例中,
fun
将返回
True
如果您的输入变量
变量
在列表中
字母=['a',e','i','o','u']
。即
fun('a')
将返回
True
fun('b')
将返回
False


是一个内置函数,它遍历某个序列并为序列中的每个项调用某个函数,然后返回该函数返回真值的值。在这种情况下,is调用
fun('g')
fun('e')
fun('e')
fun('j')
等,并返回
序列中的值,其中
fun
返回True。

首先,您需要了解python中的筛选函数

请参阅本文:


如果字符以字母形式存在,filter函数将迭代序列中的每个字符,并返回所有为真的元素。

@Yeshwin请友好一点,遵循SO的CoC。您对哪行代码有困难?是的..对我来说似乎也很困惑…正如您提到的,您是初学者,尝试使用一些打印语句来调试您的代码代码我投票认为结束语太宽泛了。简单地说一个人不理解多行代码而不指定代码的哪一部分不清楚是不够集中的。此外,这个问题没有显示任何研究,没有更多的集中可能对其他人没有用。