栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python将值分配给循环中的列表元素

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python将值分配给循环中的列表元素

首先,您不能重新分配循环变量-可以,但是,这不会更改您要遍历的列表。因此,设置

foo =0
将不会更改列表,而只会更改局部变量
foo
(该变量恰好包含每次迭代开始时的迭代值)。

接下来,小数字(例如

0
和)
1
内部保存在小整数对象的池中(这是CPython实现的细节,不必是这种情况!)这就是为什么在
foo
为其分配ID后,ID相同的原因
0
。id基本上
0
是池中该整数对象的id

如果要在遍历列表时更改列表,很不幸,您将不得不按索引访问元素。因此,如果要保持输出不变,但

[0, 0, 0]
最后要保留输出,则必须遍历索引:

for i in range(len(bar)):    print id(bar[i])    bar[i] = 0    print id(bar[i])print bar

否则,这实际上是不可能的,因为一旦将列表的元素存储在变量中,就会有一个单独的引用,该引用未链接到存储在列表中的元素。并且由于大多数这些对象都是不可变的,并且在为变量分配新值时创建了一个新对象,因此您将无法获取列表的引用进行更新。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/610443.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号