社区
脚本语言
帖子详情
新手学习PYTHON,为什么这个程序只能迭代循环一次啊?
pigfish
2015-11-10 10:18:36
代码:
dataSet = [ [1], [2],[3]]
D = map( set, dataSet )
for i in D:
print ( i )
for i in D:
print ( i )
运行结果:
{1}
{2}
{3}
第2次怎么就不能迭代了呢?
...全文
284
5
打赏
收藏
新手学习PYTHON,为什么这个程序只能迭代循环一次啊?
代码: dataSet = [ [1], [2],[3]] D = map( set, dataSet ) for i in D: print ( i ) for i in D: print ( i ) 运行结果: {1} {2} {3} 第2次怎么就不能迭代了呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
缪芮珂
2019-10-27
打赏
举报
回复
因为map()函数的返回对象不一样
Python 2.x 返回列表。
Python 3.x 返回迭代器。
所以你用3.4的版本就只能迭代一次了
冷风1023
2019-01-19
打赏
举报
回复
之所以会这样,原因在于:遍历完最后一个元素后,再次访问时会放回空列表。我们也可以这样理解:由于python中“没有指针,但是所有对象均为指针”,完成一次遍历后指针会移到最后一个元素上了。也就是说,D是一个map object,print(list(D))或者for循环打印D中的元素,都会导致迭代器从头走到尾(可以类比list[0]到list[n])。 而迭代器是一个单向的容器,走到尾部之后,不会自动再回到开始位置。 所以,对Map对象进行一次for循环之后,Map就相当于“空”了。
想要二次遍历(访问)Map对象,这里有一种方法可供参考:
------在第一次遍历Map对象之前,先复制拷贝一份,但此时的拷贝需要是深拷贝才行。
---------------------
作者:swety_gxy
来源:CSDN
原文:https://blog.csdn.net/swety_gxy/article/details/83063499
版权声明:本文为博主原创文章,转载请附上博文链接!
这里有解释。
撸代码的炮炮兵
2019-01-18
打赏
举报
回复
for循环是基于迭代器协议
pigfish
2015-11-10
打赏
举报
回复
我python版本是V3.4, 很多V2的程序都要调整,很奇怪啊
惟愿莲心不染尘
2015-11-10
打赏
举报
回复
我这里可以啊 两次
>>> set([1]) set([2]) set([3]) set([1]) set([2]) set([3])
Python
中为啥我的可
循环
对象只
循环
一次
,
循环
第二次就没了没了没了,解决解决
为什么我会总结这篇文章,可能
新手
都会遇到的一个问题 当然我也是
新手
,所以这是我遇到的问题吧 首先先描述一下我遇到的这个问题 有一天夜黑风高,我像往常一样蹲着路边(嘻嘻嘻),突然有个女孩急匆匆跑过来 拉着我的手问:“为什么为什么我的
迭代
循环
只
循环
一次
,第二次,第三次,第四次…就没有东西了,我的
迭代
啊…..” 我一看,就这,哼,我伸出那熟练的单手一把把她撸进怀里,错误错误,是搂是搂进怀里,结果我的被单湿透了, 一看全身都是汗啊….. 废话少说,开练开练 首先我们要弄清楚,这个可
迭代
的东西(也就是
循环
的这个东西),它这个到底是
迭代
器呢还是可
迭代
对象呢 先简单概括一下:
迭代
器呢,
一次
f
深入理解
Python
中的
循环
和
迭代
循环
,特别是for
循环
,是
Python
中常见的语句,甚至于Guido van Rossum(
Python
创始人)在评论递归的时候说过在
Python
中“递归已死”,我想这句话的意思不是说在
Python
中不能用递归,而是说因为
Python
中的for
循环
语句足够强大,可以不考虑递归,而是用for
循环
实现原本用递归做的事情。 本来,在《
Python
大学实用教程》和《跟老齐学
Python
:轻松入门》两本书中都对for
循环
语句做了很完整地介绍,并且在这两本书中也有关于可
迭代
等概念,但是,如何将两者融合起来理...
python
为什么只执行
一次
_
Python
中为啥我的可
循环
对象只
循环
一次
,
循环
第二次就没了没了...
为什么我会总结这篇文章,可能
新手
都会遇到的一个问题当然我也是
新手
,所以这是我遇到的问题吧首先先描述一下我遇到的这个问题有一天夜黑风高,我像往常一样蹲着路边(嘻嘻嘻),突然有个女孩急匆匆跑过来拉着我的手问:“为什么为什么我的
迭代
循环
只
循环
一次
,第二次,第三次,第四次…就没有东西了,我的
迭代
啊…..”我一看,就这,哼,我伸出那熟练的单手一把把她撸进怀里,错误错误,是搂是搂进怀里,结果我的被单湿透了,一...
python
返回
迭代
器_怎么在
python
中利用next返回
迭代
器
怎么在
python
中利用next返回
迭代
器发布时间:2020-12-15 15:15:52来源:亿速云阅读:60作者:Leah怎么在
python
中利用next返回
迭代
器?很多
新手
对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来
学习
下,希望你能有所收获。在
python
中有不少对于集合
迭代
的方法,我们把
程序
运行后的再
一次
循环
叫做
迭代
,每
一次
都
循环
都可以看做是一...
python
中双重
循环
_
python
中双
循环
广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!如果你对
python
中的for
循环
不是很清楚,请看看这篇文章:for
循环
控制语句——菜鸟的
python
笔记“下面是我做的一些
学习
记录供大家参考:1 #基本的for
循环
语句 2 test_list = 3 #打印列表的长度 4 print(len(test_list))5 6 #遍历列...
脚本语言
37,719
社区成员
34,238
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章