在python中,当我们为循环做什么时,循环变量和列表中的元素之间的关系是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在python中,当我们为循环做什么时,循环变量和列表中的元素之间的关系是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1355字,纯文字阅读大概需要2分钟。
内容图文
![在python中,当我们为循环做什么时,循环变量和列表中的元素之间的关系是什么?](/upload/InfoBanner/zyjiaocheng/756/40ccac5ff1d9421e920b59acf76327c1.jpg)
这里有几个列表:a,b等
我想分别对它们进行一些更改,但我对for循环的行为感到困惑.
例如:
如果我们这样做
a, b = range(5), range(5,10)
for x in [a, b]: x += [0]
print(a,b)
我们得到
([0, 1, 2, 3, 4, 0], [5, 6, 7, 8, 9, 0])
a,b被修改.
但如果我们这样做
a, b = range(5), range(5,10)
for x in [a, b]: x = x + [0]
print(a,b)
我们得到
([0, 1, 2, 3, 4], [5, 6, 7, 8, 9])
a,b未被修改.
我很困惑,x和a之间的关系是什么?我何时或如何修改a的值?
顺便说一下,a = b和a = a b之间有什么区别?
无论如何,我找到了一个我们可以这样做的解决方案
a, b = range(5), range(5,10)
lis = [a, b]
for i, x in enumerate(lis):
lis[i] = ...
然后我们可以修改一个&的值.湾但是这种方法需要做一个额外的清单.
还有另一个解决方案
for x in ['a', 'b']:
exec(x + '=' + x + '+ ...')
更简单的解决方案
a, b = range(5), range(5,10)
for x in [a, b]: x[:] = x + [0]
print(a,b)
我们会发现a,b被修改:)
解决方法:
该关系与Python中的所有变量绑定相同.名称绑定到值.您所看到的差异是因为您正在做不同的事情,有时候会对价值进行操作,有时会对名称进行操作.
对于列表,=就地扩展列表 – 也就是说,它修改了原始列表.因此,在使用列表的每个地方都可以看到修改.
当您执行x = x [0]时,将名称x重新绑定到新列表(通过添加旧列表加[0]形成).这不会修改原始列表,因此使用该列表的其他位置将看不到更改.
如果您在“变量”,“名称”,“值”,“按推荐呼叫”等搜索Python问题,您会发现其他有关此问题的讨论. Here是在函数 – 参数绑定的上下文中讨论类似问题的问题. for循环变量绑定的原理是相同的.
内容总结
以上是互联网集市为您收集整理的在python中,当我们为循环做什么时,循环变量和列表中的元素之间的关系是什么?全部内容,希望文章能够帮你解决在python中,当我们为循环做什么时,循环变量和列表中的元素之间的关系是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。