如何解决Python 中关于“删除”的底层概念
我创建了一个变量 temp = [10]
然后我将 temp
放入另一个列表变量 ls
之后,我使用 del temp
删除 temp
变量
但是,我检查了 ls
并且仍然发现 [10]
在 ls
在我的直觉中,ls
应该打印为 []
,但事实并非如此。
想问一下Python中del
的深层次概念,也许还有Python中按引用复制和按值复制的一些信息
我的代码:
temp = [10]
print('id of temp:',id(temp))
ls = [temp]
print('ls before del:',ls) # ls before del: [[10]]
del temp
print('ls after del:',ls) # ls after del: [[10]]
print('id of ls[0]:',id(ls[0]))
解决方法
我不建议在列表中使用 del 而是使用 pop 或 remove。
删除
nums = ['1','2']
# remove '2'
nums.remove('2')
输出
['1']
弹出
nums = ['1','2']
# remove with index of 0
nums.pop(0)
输出
['2']
您的案例
firstList = [1]
secondList = [firstList] #[[1]]
print(secondList.pop(0))
#or
print(secondList.remove(firstList))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。