博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python中list的遍历
阅读量:6903 次
发布时间:2019-06-27

本文共 771 字,大约阅读时间需要 2 分钟。

hot3.png

在python中,若要遍历一个list而且需要在遍历时修改list,则需要十分注意,因为这样可能会导致死循环,例如:

In [10]: ls = ['hello', 'world', 'bugggggggg']In [11]: for item in ls:   ....:     if len(item) > 5:   ....:         ls.insert(0, item)   ....:         print ls   ....:         ['bugggggggg', 'hello', 'world', 'bugggggggg']['bugggggggg', 'bugggggggg', 'hello', 'world', 'bugggggggg']['bugggggggg', 'bugggggggg', 'bugggggggg', 'hello', 'world', 'bugggggggg']...

所以,为了安全起见,在遇到需要修改列表的时候,都不对列表本身进行遍历,而是创建一个列表的备份,然后对这个备份进行遍历,从而避免了上述情形。例如:

In [20]: In [10]: ls = ['hello', 'world', 'bugggggggg']In [21]: for item in ls[:]:   ....:     if len(item) > 5:   ....:         ls.insert(0, item)   ....:         In [22]: print(ls)['bugggggggg', 'hello', 'world', 'bugggggggg']

 

转载于:https://my.oschina.net/kelvinxupt/blog/835088

你可能感兴趣的文章
卡巴斯基控诉Win10 Defender,俄罗斯就反垄断开始调查微软
查看>>
多家银行推信用分发力差异化 大数据提供依据
查看>>
大数据时代 首席数据官如何实现数据革新?
查看>>
Strategy Analytics:网络安全威胁以及GDPR将提升IT移动性预算
查看>>
光伏行业王者归来 隆基股份上半年净利预增超六倍
查看>>
IBM利用碳纳米管“生长”芯片 速度可提升10倍
查看>>
2015存储虚拟化管理小贴士
查看>>
Windows 10即将针对共享功能进行大量修复和改进
查看>>
电站控制器出现远程漏洞 而且没法打补丁
查看>>
关于客户感知价值提升的思考(二)
查看>>
数据驱动业务决策的5个步骤
查看>>
上网个人信息如何不“裸奔” 10条信息安全建议
查看>>
JIRA的常用选项
查看>>
专访Facebook HipHop作者、阿里研究员赵海平:生物与计算机交织的独特人生
查看>>
监控视频须严加规范
查看>>
国内首个以活数据交易为主的大数据交易平台上线
查看>>
实例化需求的优点
查看>>
通过vmstat的简单分析数据库操作
查看>>
OpenStack详细解读:定义,好处与使用实例
查看>>
俄美共同研制出新型钙钛矿太阳能电池
查看>>