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

网络服务商英文简称/网站seo整站优化

网络服务商英文简称,网站seo整站优化,在新西兰做兼职的网站,asp商品网站源码列表生成式 即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。 举个例子,要生成list [1,2,3,4,5,6,7,8,9,10]可以用list(range(1,11)): >>> list(range(1, 11)) [1,2,3,4,5,6,7,8,9,10]但如果要生成…

列表生成式

即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。

举个例子,要生成list [1,2,3,4,5,6,7,8,9,10]可以用list(range(1,11))

>>> list(range(1, 11))
[1,2,3,4,5,6,7,8,9,10]

但如果要生成[1x1,2x2,3x3,...,10x10]怎么做?方法一是循环:

>>> L = []
>>> for x in range(1,11): ... L.append(x*x) ... >>> L [1,4,9,16,25,36,49,64,81,100]

但是循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list:

>>> [x * x for x in range(1, 11)] [1,4,9,16,25,36,49,64,81,100]

写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来,for循环后面还可以加上if判断,这样我们就可以筛选出仅偶数的平方:

>>> [x * x for x in range(1, 11) if x % 2 == 0] [4,16,36,64,100]
列表生成式也可以用两个变量来生成字典里的元素:

生成器

通过列表生成式,我们可以直接创建一个列表,一边循环一边计算的机制,称为生成器:generator

要创建一个generator,有很多种方法。第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:

创建生成器最重要的是(),不是其他列表像[]、{}

如果要一个一个打印出来,可以通过next()函数获得generator的下一个返回值:

直到计算到最后一个元素,没有更多的元素时,抛出StopIteration的错误。

也可以使用for循环,因为generator也是可迭代对象:

二者的区别很明显:
一个直接返回了表达式的结果列表, 而另一个是一个对象,该对象包含了对表达式结果的计算引用, 通过循环可以直接输出

最重要的区别是 列表生成式是用[]写的,生成器使用(),可以当做一个对象,引用到其他列表或式子里计算然后进行迭代。 

当表达式的结果数量较少的时候, 使用列表生成式还好, 一旦数量级过大, 那么列表生成式就会占用很大的内存,
而生成器并不是立即把结果写入内存, 而是保存的一种计算方式, 通过不断的获取, 可以获取到相应的位置的值,所以占用的内存仅仅是对计算对象的保存

 

直接可以用作for循环的数据类型有以下几种:

tuple、list、dict、str等,

上述数据类型可以用作for循环的叫做可迭代对象Iterable。可以使用isinstance判断一个对象是否是迭代对象Iterable。

from collections import Iterable#首先导入一个模块

上述只是判断对象是否是可迭代对象而已。

生成器不但可以作用于for循环,还可以被next()函数不断调用并返回下一个值,直到最后抛出StopIteration错误表示无法继续返回下一个值了。

可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator

可以使用isinstance()判断一个对象是否是Iterator迭代器

小结

凡是可作用于for循环的对象都是Iterable迭代对象类型;

凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;

集合数据类型如list、tuple、dictstr等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。

Python的for循环本质上就是通过不断调用next()函数实现的

生成器(generator)也是迭代对象(Iterator)

 

转载于:https://www.cnblogs.com/qinyujie/p/8657422.html

http://www.lbrq.cn/news/1389601.html

相关文章:

  • 阿里云企业网站建设教程/百度指数关键词搜索趋势
  • 西双网站建设/最常见企业网站有哪些
  • 一元购网站怎么做/推广之家app下载
  • 装饰网站/成都关键词自然排名
  • 网站首屏做多大/一网信息一个简单便捷的新闻网站
  • 小橘子被做h网站/正规推广平台有哪些
  • 重庆做网站公司电话/广告商对接平台
  • 怎么进入网站后台图片/网店seo是什么意思
  • 阿里云服务器上如何做网站/顶尖文案
  • 可以做推文的网站/每日重大军事新闻
  • 连云港网站建设公司/淮北seo排名
  • 永久免费手机网站建设/在线数据分析网站
  • 网站做好了怎么做后台管理/深圳网络推广哪家公司好
  • 做dnf辅助官方网站/今日小说搜索风云榜
  • 深圳网站建设公司多少钱/宁波seo服务快速推广
  • 沈阳微信网站制作价格/seo优化快速排名
  • wordpress akismet/seo快速排名多少钱
  • 沧州有做网站的吗/seo关键词外包
  • 通化网站建设/北京百度seo工作室
  • 律师做网站推广有用吗/淄博网站推广
  • 工业设计专业世界排名/专业搜索引擎seo服务商
  • 成都哪里可以做网站/免费发布推广的平台
  • 织梦网站安装播放视频插件下载/seo网站优化收藏
  • ps网站banner怎么做/今日财经新闻
  • 企业网站开发实训报告/seo的中文名是什么
  • 政府部门网站开发项目建设背景/杭州全网推广
  • 如何自己搭建一个网站/福州整站优化
  • 做移动网站快速/营销网站建设
  • 亚马逊服务器做影视网站/免费下载优化大师
  • 给公司建立网站不可以做到的/semantic ui
  • PDF文档安全升级:三招实现文本转曲线(防篡改+高清输出)
  • imx6ull-驱动开发篇33——platform 平台驱动模型
  • 学习 k 均值聚类算法的心得
  • 8.21IPSEC安全基础后篇,IKE工作过程
  • linux-ubuntu里docker的容器portainer容器建立后如何打开?
  • 搭建FTP文件共享服务器