操作员如何运作 del 在名单B. python?
我读
为了
以及运营商如何工作
, 但我需要解释以下行为。
在这种情况下
和
表示相同的对象/列表/, 因此,对一个人进行更改影响另一个,但删除一个人不会删除对象。 那么在这里发生什么? 这很简单
对象对象丢失?
使用切割操作拆卸
返回一个新列表。 但
拆除到位。 所以,在这种情况下,有新列表吗? 这里究竟发生了什么?
</module></stdin>
python docs
为了
list
以及运营商如何工作
del
, 但我需要解释以下行为。
在这种情况下
c
和
l
表示相同的对象/列表/, 因此,对一个人进行更改影响另一个,但删除一个人不会删除对象。 那么在这里发生什么? 这很简单
pointer
对象对象丢失?
>>> l = [1,2,3]
>>> c = l
>>> c.append/4/
>>> c
[1, 2, 3, 4]
>>> l
[1, 2, 3, 4]
>>> del c
>>> l
[1, 2, 3, 4]
>>> c
Traceback /most recent call last/:
File "<stdin>", line 1, in <module>
NameError: name 'c' is not defined
使用切割操作拆卸
>>> l
[1, 2, 3, 4]
>>> del l[::2]
>>> l
[2, 4]
l[::2]
返回一个新列表。 但
del l[::2]
拆除到位。 所以,在这种情况下,有新列表吗? 这里究竟发生了什么?
</module></stdin>
没有找到相关结果
已邀请:
1 个回复
莫问
赞同来自:
和
连接的
用同一个对象。 它们都是对列表的引用,可以通过两个链路看到操作该对象列表。
释放
; 他删除了列表的链接。
del l[::2]
删除特定的索引集
从列表中
, 现在你合作
萨米姆
对象列表 . 你没有释放
, 你是释放索引
里面
列表。
您还可以将其与获取和安装值进行比较。
不同于
print c[::2]
和
不同于
c[::2] = something
; 两个示例中的第一个仅访问对象对象或分配新值。
, 最近的示例提取值的切片或设置切割索引的新值。
在引擎盖下
删除名称
从字典处理所有变量 /
给你一个关于这个词典的链接/.
del l[::2]
原因
http://docs.python.org/3/refer ... tem__
通过传递对象的列表中
.