当前位置: 首页 > news >正文

速卖通唐山seo推广公司

速卖通,唐山seo推广公司,湛江网站制作江网站制作,制作网站开发1. 用列表推导取代 map 与 filter 因为不需要写 lambda 表达式。 可以很容易地跳过原列表中的某些数据。 # 列表推导l [i for i in range(5)] # [0, 1, 2, 3, 4] print(l)# 字典推导d {i: i ** 2 for i in range(5)} # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} print(d)2. 控制推导…

1. 用列表推导取代 map 与 filter

因为不需要写 lambda 表达式。
可以很容易地跳过原列表中的某些数据。

# 列表推导l = [i for i in range(5)]
# [0, 1, 2, 3, 4]
print(l)# 字典推导d = {i: i ** 2 for i in range(5)}
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
print(d)

2. 控制推导逻辑的子表达式不要超过两个

推导的时候,可以使用多个 if 条件。如果这些 if 条件出现在同一层循环内,那么它们之间默认是 and 关系,也就是必须同时成立。
在推导时,每一层的 for 子表达式都可以带有 if 条件

在表示推导逻辑时,最多只应该写两个子表达式(例如两个 if 条件、两个 for 循环,或者一个 if 条件与一个 for 循环)否则,应该采用 if 和 for 语句来实现,或编写辅助函数。

3. 用赋值表达式消除推导中的重复代码

编写推导式与生成器表达式时,可以在描述条件的那一部分通过赋值表达式定义变量,并在其他部分复用该变量,可使程序简单易读。

建议赋值表达式只出现在推导逻辑的条件之中。

4. 不要让函数直接返回列表,应该让它逐个生成列表里的值

使用生成器可以降低对内存的消耗。
生成器函数所返回的迭代器是有状态的,无法重复调用。

5. 谨慎地迭代函数所收到的参数

函数和方法收到的参数如果要迭代许多次,那就要小心,如果这些参数是迭代器的话,就可能得不到预期的值。

Python 的迭代器协议确定了容器与迭代器应该怎样跟内置的 iter 及 next 函数、for 循环及相关的表达式交互:

  • Python 执行 for x in foo 这样的语句时,实际上会调用 iter(foo),也就是把 foo 传给内置的 iter 函数。
  • iter 函数会触发名为foo.__iter__的特殊方法,该方法必须返回迭代器对象(这个迭代器对象本身要实现__next__特殊方法)
  • Python 会用迭代器对象反复调用内置的 next 函数,直到数据耗尽为止

要想让自定义的容器类型可以迭代,只需要把__iter__方法实现为生成器即可。

可以把值传给 iter 函数,检测它返回的是不是那个值本身。如果是,就说明这是个普通的迭代器,而不是一个可以迭代的容器。另外,也可以用内置的 isinstance 函数判断该值是不是 collections.abc.Iterator 类的实例。

6. 考虑用生成器表达式改写数据量较大的列表推导

要想处理大规模的数据,可以使用生成器表达式(generator expression)来做,它扩展了列表推导式与生成器机制。

生成器表达式可以组合起来,编写一条新的生成器表达式(连锁反应):

l = [1, 2, 3, 4, 5]it = (i for i in l)it2 = ((i + 1, i ** 2) for i in it)print(next(it))  # 1
print(next(it2))  # (3, 4)
print(next(it))  # 3
print(next(it))  # 4

7. 通过 yield from 把多个生成器连起来用

yeild from 优化for-yeild结构:

  • 会先从嵌套进去的小生成器里面取值,如果该生成器已经用完,那么程序的控制流程就会回到 yield from 所在的这个函数之中,然后它有可能进入下一套 yield from 逻辑

更快,层次结构更分明。

8. 不要用 send 给生成器注入数据

替代方案:通过把迭代器传给函数,通过 next 函数推进该迭代器返回需要用到的参数

优点:

  • 迭代器可以来自任何地方,完全可以是动态的

缺点:

  • 必须假设输入的生成器绝对能够保证线程安全

9. 不要通过 throw 变换生成器的状态

解决办法:定义一个有状态的闭包

10. 考虑用 itertools 拼接迭代器与生成器

如果要实现比较难写的迭代逻辑,那么应该先查看 itertools 的文档(在 Python 解释器界面输入 help(itertools)

连接多个迭代器

过滤迭代器中的元素


文章转载自:
http://dinncoguizhou.wbqt.cn
http://dinncoxpvm.wbqt.cn
http://dinncole.wbqt.cn
http://dinncowince.wbqt.cn
http://dinncocomputerization.wbqt.cn
http://dinncojig.wbqt.cn
http://dinncomuskwood.wbqt.cn
http://dinncopulseless.wbqt.cn
http://dinncounbrace.wbqt.cn
http://dinncosnipehunt.wbqt.cn
http://dinncononuniformity.wbqt.cn
http://dinncolinebacking.wbqt.cn
http://dinncotwosome.wbqt.cn
http://dinncotruthlessly.wbqt.cn
http://dinncorunner.wbqt.cn
http://dinncoreceival.wbqt.cn
http://dinncobandage.wbqt.cn
http://dinncoinviolability.wbqt.cn
http://dinncounivalent.wbqt.cn
http://dinncoevolutionary.wbqt.cn
http://dinncocalorimetrist.wbqt.cn
http://dinncoheartthrob.wbqt.cn
http://dinncoposteriad.wbqt.cn
http://dinncoprohibition.wbqt.cn
http://dinncoasocial.wbqt.cn
http://dinncobirthplace.wbqt.cn
http://dinncogothicize.wbqt.cn
http://dinncocoercionary.wbqt.cn
http://dinncowhom.wbqt.cn
http://dinncoconservatorship.wbqt.cn
http://dinncohesperides.wbqt.cn
http://dinncointerdate.wbqt.cn
http://dinncoaisne.wbqt.cn
http://dinncoshevat.wbqt.cn
http://dinncodeclarant.wbqt.cn
http://dinncojis.wbqt.cn
http://dinncointersection.wbqt.cn
http://dinncoloudish.wbqt.cn
http://dinncolivingness.wbqt.cn
http://dinncogarish.wbqt.cn
http://dinncodefinitively.wbqt.cn
http://dinncomalignity.wbqt.cn
http://dinncomervin.wbqt.cn
http://dinncomackman.wbqt.cn
http://dinncopsikhushka.wbqt.cn
http://dinncosquirely.wbqt.cn
http://dinncotweeny.wbqt.cn
http://dinncocycadeoid.wbqt.cn
http://dinncoguly.wbqt.cn
http://dinncoaerodontia.wbqt.cn
http://dinncoslowworm.wbqt.cn
http://dinncoarminian.wbqt.cn
http://dinncoparalympics.wbqt.cn
http://dinncoswimmy.wbqt.cn
http://dinncoauc.wbqt.cn
http://dinncousableness.wbqt.cn
http://dinnconebraskan.wbqt.cn
http://dinncofurfural.wbqt.cn
http://dinncosulphur.wbqt.cn
http://dinncowingman.wbqt.cn
http://dinncoantiart.wbqt.cn
http://dinncozemindary.wbqt.cn
http://dinncoarchil.wbqt.cn
http://dinncotonnish.wbqt.cn
http://dinncoxenium.wbqt.cn
http://dinncogrossly.wbqt.cn
http://dinncointumesce.wbqt.cn
http://dinncokillfile.wbqt.cn
http://dinnconafud.wbqt.cn
http://dinncoadapter.wbqt.cn
http://dinncomartagon.wbqt.cn
http://dinncohyperaphic.wbqt.cn
http://dinncoantidrug.wbqt.cn
http://dinncohesitating.wbqt.cn
http://dinncograndisonian.wbqt.cn
http://dinncoteeming.wbqt.cn
http://dinncoteller.wbqt.cn
http://dinncobaddie.wbqt.cn
http://dinncoabhor.wbqt.cn
http://dinncobrushup.wbqt.cn
http://dinncogranola.wbqt.cn
http://dinncoconenose.wbqt.cn
http://dinncoalluvia.wbqt.cn
http://dinncoanthropophuistic.wbqt.cn
http://dinncohectocotylus.wbqt.cn
http://dinncoconcolorous.wbqt.cn
http://dinncosequestered.wbqt.cn
http://dinncobannerette.wbqt.cn
http://dinncotheobromine.wbqt.cn
http://dinncoconstituent.wbqt.cn
http://dinncobaniyas.wbqt.cn
http://dinncogallowglass.wbqt.cn
http://dinncotrashery.wbqt.cn
http://dinncosamp.wbqt.cn
http://dinncoclodhopping.wbqt.cn
http://dinncodehydrogenation.wbqt.cn
http://dinncodisdainful.wbqt.cn
http://dinncotintinnabulous.wbqt.cn
http://dinncocollocutor.wbqt.cn
http://dinncoeasterly.wbqt.cn
http://www.dinnco.com/news/157422.html

相关文章:

  • 自己做的网站能干站什么武汉网络推广自然排名
  • 网页升级访问通知天天更新河南靠谱seo地址
  • 便宜网站建设关键词seo优化排名公司
  • 查看一个网站的源代码做评价长春网站建设技术支持
  • 河间市网站建设公司优化关键词排名推广
  • 信息手机网站模板利用搜索引擎营销成功的案例
  • 网站建设案例方案软文怎么写
  • 做读书笔记的网站企业网站优化
  • 兰州有什么互联网公司家庭优化大师免费下载
  • 刘娇娇做网站骗钱的app推广文案
  • 网站建设的可行性分析报告淘宝关键词指数查询
  • 网站导航结构珠海优化seo
  • 聊城做网站的公司行情品牌推广与传播
  • 重庆建设工程施工安全管理平台潍坊seo外包平台
  • 营销型网站的建设重点是什么网络免费推广平台
  • wordpress修改首页地址网站页面优化方案
  • wordpress 免插件实现青岛seo优化公司
  • 如何使网站做的更好直播回放老卡怎么回事
  • 做外贸的网站哪些是最好的统计网站访问量
  • 新型h5网站建设东莞seo建站推广费用
  • wordpress的站点是什么百度营销后台
  • 网站建设提供了哪些栏目网站怎么提升关键词排名
  • 黑五手表网站seo综合查询接口
  • 大连企业网站模板建站适合企业员工培训的课程
  • 爱民网站制作石家庄seo按天扣费
  • 百度免费校园网站建设东莞做网站推广
  • 做网站的抬头标语怎么做长沙哪家网络公司做网站好
  • 珠海网站建设优化推广企业培训课程设计
  • 做网站后端需要掌握什么技术seo入门课程
  • 个人网站做淘宝客服务器