gpt4 book ai didi

python - 为什么使用filter()而不是 'usual' def函数?

转载 作者:行者123 更新时间:2023-12-01 04:14:22 25 4
gpt4 key购买 nike

你能帮我理解为什么在Python中使用filter()而不是def-function吗?只是它更具可读性。

谢谢。

例如,

这一个默认函数:

def do_even_check(num):
for i in num:
if i % 2 ==0:
print(i)
else:
pass

my_list = [1,2,3,4,5,6,7,8,9,10]

do_even_check(my_list)

这个带有 filter()lambda:

filter(lambda num: num % 2 == 0, my_lst)

最佳答案

filter 选项更好,因为结果可能会被重复使用,而您的 do_even_check(num): 函数总是打印输出,从而阻碍了其在程序的其他部分。

无论如何,完成此任务的最佳方法不是您的两种可能性,而是生成器表达式:

evens = (i for i in my_list if i % 2 == 0)

因为它是最易读且最简洁的。

关于python - 为什么使用filter()而不是 'usual' def函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34500975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com