如何在Python中重新分配列表中的项目?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在Python中重新分配列表中的项目?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含917字,纯文字阅读大概需要2分钟。
内容图文
![如何在Python中重新分配列表中的项目?](/upload/InfoBanner/zyjiaocheng/752/0889828a5cca4f3e84b1a070e01acaec.jpg)
我想在Python中重新分配列表中的每个项目.
In [20]: l = [1,2,3,4,5]
In [21]: for i in l:
....: i = i + 1
....:
....:
但名单根本没有变化.
In [22]: l
Out[22]: [1, 2, 3, 4, 5]
我想知道为什么会这样.任何机构都可以详细解释列表吗?谢谢.
解决方法:
你不能这样做,你只是改变绑定到名称i的值.在for循环的每次迭代中,i被绑定到列表中的值.在某种意义上,它不是一个指针,通过更改i的值,您将更改列表中的值.相反,正如我之前所说,它只是一个名称而你只是更改名称所指的值.在这种情况下,i = i 1,将i绑定到值i 1.因此,您实际上并没有影响列表本身,要做到这一点,您必须通过索引进行设置.
>>> L = [1,2,3,4,5]
>>> for i in range(len(L)):
L[i] = L[i] + 1
>>> L
[2, 3, 4, 5, 6]
一些pythonistas可能更喜欢像这样迭代:
for i, n in enumerate(L): # where i is the index, n is each number
L[i] = n + 1
但是,您可以使用列表理解轻松实现相同的结果:
>>> L = [1,2,3,4,5]
>>> L = [n + 1 for n in L]
>>> L
[2, 3, 4, 5, 6]
欲了解更多信息:http://www.effbot.org/zone/python-objects.htm
内容总结
以上是互联网集市为您收集整理的如何在Python中重新分配列表中的项目?全部内容,希望文章能够帮你解决如何在Python中重新分配列表中的项目?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。