pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

Python 列表迭代器行為和 next(iterator)

Python list iterator behavior and next(iterator)(Python 列表迭代器行為和 next(iterator))
本文介紹了Python 列表迭代器行為和 next(iterator)的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

考慮:

>>> lst = iter([1,2,3])
>>> next(lst)
1
>>> next(lst)
2

因此,正如預(yù)期的那樣,推進迭代器是通過改變同一個對象來處理的.

So, advancing the iterator is, as expected, handled by mutating that same object.

既然如此,我希望:

a = iter(list(range(10)))
for i in a:
   print(i)
   next(a)

每隔一個元素跳過一次:對 next 的調(diào)用應(yīng)該將迭代器推進一次,然后循環(huán)進行的隱式調(diào)用應(yīng)該將它第二次推進 - 第二次調(diào)用的結(jié)果將是分配給 i.

to skip every second element: the call to next should advance the iterator once, then the implicit call made by the loop should advance it a second time - and the result of this second call would be assigned to i.

它沒有.循環(huán)打印列表中的 all 項,而不跳過任何項.

It doesn't. The loop prints all of the items in the list, without skipping any.

我的第一個想法是這可能會發(fā)生,因為循環(huán)調(diào)用 iter 對它傳遞的內(nèi)容,這可能會給出一個獨立的迭代器 - 情況并非如此,因為我們有 iter(a) 是一個.

My first thought was that this might happen because the loop calls iter on what it is passed, and this might give an independent iterator - this isn't the case, as we have iter(a) is a.

那么,為什么在這種情況下 next 似乎沒有推進迭代器?

So, why does next not appear to advance the iterator in this case?

推薦答案

你看到的是interpreter回顯next()的返回值除了<每次迭代都會打印代碼>i:

What you see is the interpreter echoing back the return value of next() in addition to i being printed each iteration:

>>> a = iter(list(range(10)))
>>> for i in a:
...    print(i)
...    next(a)
... 
0
1
2
3
4
5
6
7
8
9

所以0print(i)的輸出,1next()的返回值,由交互式解釋器等響應(yīng).只有 5 次迭代,每次迭代導(dǎo)致 2 行被寫入終端.

So 0 is the output of print(i), 1 the return value from next(), echoed by the interactive interpreter, etc. There are just 5 iterations, each iteration resulting in 2 lines being written to the terminal.

如果您分配 next() 的輸出,事情會按預(yù)期工作:

If you assign the output of next() things work as expected:

>>> a = iter(list(range(10)))
>>> for i in a:
...    print(i)
...    _ = next(a)
... 
0
2
4
6
8

或打印額外信息以區(qū)分print()輸出與交互式解釋器回顯:

or print extra information to differentiate the print() output from the interactive interpreter echo:

>>> a = iter(list(range(10)))
>>> for i in a:
...    print('Printing: {}'.format(i))
...    next(a)
... 
Printing: 0
1
Printing: 2
3
Printing: 4
5
Printing: 6
7
Printing: 8
9

換句話說,next() 正在按預(yù)期工作,但是由于它從迭代器返回下一個值,并由交互式解釋器回顯,因此您會相信循環(huán)有自己的迭代器以某種方式復(fù)制.

In other words, next() is working as expected, but because it returns the next value from the iterator, echoed by the interactive interpreter, you are led to believe that the loop has its own iterator copy somehow.

這篇關(guān)于Python 列表迭代器行為和 next(iterator)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

How to draw a rectangle around a region of interest in python(如何在python中的感興趣區(qū)域周圍繪制一個矩形)
How can I detect and track people using OpenCV?(如何使用 OpenCV 檢測和跟蹤人員?)
How to apply threshold within multiple rectangular bounding boxes in an image?(如何在圖像的多個矩形邊界框中應(yīng)用閾值?)
How can I download a specific part of Coco Dataset?(如何下載 Coco Dataset 的特定部分?)
Detect image orientation angle based on text direction(根據(jù)文本方向檢測圖像方向角度)
Detect centre and angle of rectangles in an image using Opencv(使用 Opencv 檢測圖像中矩形的中心和角度)
主站蜘蛛池模板: 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 仿真植物|仿真树|仿真花|假树|植物墙 - 广州天昆仿真植物有限公司 | 亮点云建站-网站建设制作平台 | 上海公众号开发-公众号代运营公司-做公众号的公司企业服务商-咏熠软件 | 长信科技产业园官网_西安厂房_陕西标准工业厂房| 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 广州冷却塔维修厂家_冷却塔修理_凉水塔风机电机填料抢修-广东康明节能空调有限公司 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 锂电叉车,电动叉车_厂家-山东博峻智能科技有限公司 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 洛阳网站建设_洛阳网站优化_网站建设平台_洛阳香河网络科技有限公司 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | 石油/泥浆/不锈钢防腐/砂泵/抽砂泵/砂砾泵/吸砂泵/压滤机泵 - 专业石油环保专用泵厂家 | 雷蒙磨,雷蒙磨粉机,雷蒙磨机 - 巩义市大峪沟高峰机械厂 | 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 采暖炉_取暖炉_生物质颗粒锅炉_颗粒壁炉_厂家加盟批发_烟台蓝澳采暖设备有限公司 | 首页|成都尚玖保洁_家政保洁_开荒保洁_成都保洁 | 螺旋压榨机-刮泥机-潜水搅拌机-电动泥斗-潜水推流器-南京格林兰环保设备有限公司 | 代理记账_公司起名核名_公司注册_工商注册-睿婕实业有限公司 | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 合金ICP光谱仪(磁性材料,工业废水)-百科 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 济南展厅设计施工_数字化展厅策划设计施工公司_山东锐尚文化传播有限公司 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | 我爱古诗词_古诗词名句赏析学习平台 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 |