为了账号安全,请及时绑定邮箱和手机立即绑定

可变类型list传入函数后为什么外部的list未发生改变,求解惑!

可变类型list传入函数后为什么外部的list未发生改变,求解惑!

lonely喵 2018-05-07 16:10:11
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明明是可变的类型,为什么函数外取值没有也变掉啊?
查看完整描述

1 回答

已采纳
?
我吃西瓜很快

TA贡献39条经验 获得超13个赞

 mylist=[1,2,3,4]

因为这一句是直接设置,相当于改变了mylist所指向的地址。

mylist[1]=123
mylist[:]=[1,2,3,4]

你可以像这样只改变其所指向地址的内容


 

查看完整回答
反对 回复 2018-05-07
  • 1 回答
  • 0 关注
  • 1060 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信