可变类型list传入函数后为什么外部的list未发生改变,求解惑!
def changeme( mylist ):
"修改传入的列表"
mylist=[1,2,3,4];
print ("函数内取值: ", mylist)
return
>>> mylist = [10,20,30]
>>> changeme( mylist )
>>> print("函数外取值: ", mylist)
打印结果:
函数内取值: [1, 2, 3, 4]
函数外取值: [10, 20, 30]
这里list明明是可变的类型,为什么函数外取值没有也变掉啊? |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
mylist=[1,2,3,4]因为这一句是直接设置,相当于改变了mylist所指向的地址。
mylist[1]=123mylist[:]=[1,2,3,4]你可以像这样只改变其所指向地址的内容 |
|
|
|
|