| 查看: 991 | 回复: 5 | ||
tuburfransth金虫 (正式写手)
|
[求助]
python中del a[:]为什么会清空列表a?已有1人参与
|
|
>>> a = [1, 2, 3, 4] >>> b = a[:] >>> id(a) 8937640 >>> id(b) 8938800 >>> id(a[:]) 8939000 >>> del a[:] >>> a [] >>> b [1, 2, 3, 4] 我想请教a[:]是列表a的复制,del a[:]应该只是建立一个列表a的复制然后再清空,而不是清空列表a呀。 同时,列表a和a[:]的id也是不同的,这也说明了我以上的观点应该是正确的啊,不知道是哪里分析错了,请知道的人解释下,谢谢! |
» 猜你喜欢
请问有评职称,把科研教学业绩算分排序的高校吗
已经有6人回复
2025冷门绝学什么时候出结果
已经有6人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有7人回复
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有8人回复
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有5人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
【答案】应助回帖
感谢参与,应助指数 +1
|
交互环境下 >>> 12 是给变量_赋值(这一点有点像Matlab), 所以我猜测在一个刚打开的shell中输入 >> a = [1, 2, 3, 4 >>> id(a[:]) ? ?? ???8939000 >>> _ 结果应该就是a值的拷贝(你可以试试),如果这样也就可以解释为什么id(a[:])与id(a)不一样,因为变量_和变量a指向的内存地址不同。 而del a[:]将a列表中元素全部删除我是这么理解的:就像del a[1:2]是将列表中第二个元素一样,del a[:]是将a中元素全选后删除。 希望能对你有帮助。 发自小木虫Android客户端 |
2楼2017-01-01 23:23:32
tuburfransth
金虫 (正式写手)
- 应助: 9 (幼儿园)
- 金币: 2380.1
- 散金: 68
- 红花: 5
- 帖子: 384
- 在线: 124.8小时
- 虫号: 3425987
- 注册: 2014-09-18
- 性别: GG
- 专业: 模式识别
3楼2017-01-02 11:14:38
【答案】应助回帖
★ ★ ★ ★ ★
tuburfransth: 金币+5, ★★★★★最佳答案 2017-01-02 12:07:48
tuburfransth: 金币+5, ★★★★★最佳答案 2017-01-02 12:07:48
|
可能是这样的,python比较强调多态,对于不同的操作,它都是能执行就执行的。 发自小木虫Android客户端 |
4楼2017-01-02 11:30:30
5楼2017-01-02 11:33:02
6楼2017-01-02 11:34:01













回复此楼