欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

python 生成器_提高你的Python: 解释‘yield’和‘Generators(生成器)’

发布时间:2023/12/3 63 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python 生成器_提高你的Python: 解释‘yield’和‘Generators(生成器)’ 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

例子:有趣的素数

假设你的老板让你写一个函数,输入参数是一个int的list,返回一个可以迭代的包含素数

记住,迭代器(Iterable) 只是对象每次返回特定成员的一种能力。

你肯定认为"这很简单",然后很快写出下面的代码:

def get_primes(input_list):

result_list = list()

for element in input_list:

if is_prime(element):

result_list.append()

return result_list

# 或者更好一些的...

def get_primes(input_list):

return (element for element in input_list if is_prime(element))

# 下面是 is_prime 的一种实现...

def is_prime(number):

if number > 1:

if number == 2:

return True

if number % 2 == 0:

return False

for current in range(3, int(math.sqrt(number) + 1), 2):

if number % current == 0:

return False

return True

return False

上面 is_prime 的实现完全满足了需求,所以我们告诉老板已经搞定了。她反馈说我们的函数工作正常,正是她想要的。

总结

以上是生活随笔为你收集整理的python 生成器_提高你的Python: 解释‘yield’和‘Generators(生成器)’的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。