pythonfilter函数的用法,pythonfilter函数

 2023-10-02  阅读 184  评论 0

摘要:今天小编mail为大家分享的生活小常识,希望能够帮助到大家!pythonfilter函数的用法这个很多人还不知道,现在让我们一起来看看吧!1、不会死循环,生成器是个虚拟抽象的概念,你可以认为_odd_iter() primes() 里面运行

今天小编mail为大家分享的生活小常识,希望能够帮助到大家!

pythonfilter函数的用法这个很多人还不知道,现在让我们一起来看看吧!

1、不会死循环,生成器是个虚拟抽象的概念,你可以认为_odd_iter() primes() 里面运行的时候python解释器并不生成实际的List,也就不会耗费内存和时间真正分配给List内存只在以下过程, primes()这个生成器是逐步分配内存的!!for n in primes():    if n<1000:        print(n)    else:        break另外提醒你下,你的程序只能在Python 3.x版本下正确运行:-)因为你用的是 filter返回生成器对象的用法!!如果你要你的程序在Python 2.x正确运行,需改成如下形式。

2、根据你最新的追问,“为什么it=filter(lambda x : x%n>0 ,it)不行??“直接在filter里用Lambda表达式是完全可以的,你的原因是你的Lambda表达式漏输入了一个n,请看如下形式.# Python 2.x下需导入itertools库的ifilter才能和python 3.x的filter等效import itertoolsdef _odd_iter():    n=1    while True:        n=n+2        yield ndef _not_divisible(n):    return lambda x:x%n>0def primes():    yield 2    it=_odd_iter()    while True:        n=next(it)        yield n        #it=***.ifilter(_not_divisible(n),it)        it = ***.ifilter(lambda x, n=n: x%n > 0, it)for n in primes():    if n<1000:        print(n)    else:        break。

Luochuanren.Com洛川人-综合信息门户网站,涵盖生活常识、美食、创业、体育、旅游、家居、汽车、财经、互联网、科技、房产、教育等资讯。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

原文链接:http://www.luochuanren.com/35878.html

发表评论:

管理员

  • 内容137217
  • 积分0
  • 金币0
关于我们
洛川人(luochuanren.com)陕西省洛川宣传信息展示网站,提房产,人才招聘,家居装饰,教育,论坛,贴吧,旅游,特产,二手车,美食,天气,娱乐,企业等资讯。
联系方式
电话:17898872021
地址:
Email:773537036@qq.com
注册登录
注册帐号
登录帐号

Copyright © 2022 洛川人 Inc. 【测试站】 保留所有权利。 Powered by 洛川人

陕ICP备2022013085号

  • 我要关灯
    我要开灯
  • 客户电话

    工作时间:8:00-18:00

    客服电话

    17898872021

    电子邮件

    773537036@qq.com

  • 官方微信

    扫码二维码

    获取最新动态

  • 返回顶部