可变类型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明明是可变的类型,为什么函数外取值没有也变掉啊?




lonely喵
浏览 1061回答 1
1回答

我吃西瓜很快

 mylist=[1,2,3,4]因为这一句是直接设置,相当于改变了mylist所指向的地址。mylist[1]=123 mylist[:]=[1,2,3,4]你可以像这样只改变其所指向地址的内容 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python