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

乘法运算符应用于列表(数据结构)

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

乘法运算符应用于列表(数据结构)

python中的所有对象都是对象,除非明确要求这样做,否则python永远不会复制。

当你做

innerList = [0] * 10

您将创建一个包含10个元素的列表, 所有

int
0
元素 都引用同一个 对象

由于整数对象是 不可变的 ,因此当您执行

innerList[1] = 15

您正在更改列表的第二个元素,使其引用另一个整数

15
。由于
int
对象的不变性,这总是可行的。

这就是为什么

outerList = innerList * 5

将创建一个

list
包含5个元素的对象,每个元素都与上面 相同
innerList
。但是由于
list
对象是 可变的

outerList[2].append('something')

是相同的:

innerList.append('something')

因为它们是对
同一

list
对象的两个引用。因此,该元素以该single结尾
list
。它似乎是重复的,但事实是只有一个
list
对象,并且有许多引用。

相反,如果您这样做

outerList[1] = outerList[1] + ['something']

在这里,您将 创建 另一个

list
对象
+
与列表一起使用是一个显式副本),并将对该 对象
的引用分配到的第二个位置
outerList
。如果以这种方式“添加”元素(不是真正地添加,而是创建另一个列表),
innerList
则不会受到影响。



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

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

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