sgp*_*sgp 3 python list python-2.7
那么这是一个基本问题,但在这里:
请考虑以下代码:
listA = ['a','b','c']
listB = listA
listB.pop(0)
print listB
print listA
Run Code Online (Sandbox Code Playgroud)
输出如下:
['b','c']
['b','c']
Run Code Online (Sandbox Code Playgroud)
但是,输出不应该是:
['b','c']
['a','b','c']
Run Code Online (Sandbox Code Playgroud)
到底发生了什么?我怎么能得到预期的输出?提前致谢 :)
变量listB只不过是对它的引用listA.如果你想要副本,listA你可以发出
listB = listA[:]
Run Code Online (Sandbox Code Playgroud)
对于浅拷贝或
import copy
listB = copy.deepcopy(listA)
Run Code Online (Sandbox Code Playgroud)
用于深层复制.这是一个很好的阅读主题.
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |