python 序列赋值有哪几种情况
1个回答
展开全部
这个很好理解,slice切片就是将shoplist内不特定的一组序列存到另一块开辟的内存里。虽然你是将shoplist的全部转存到mylist但,它只是slice中的一种特列。第一次mylist
=
shoplist
相当于C语言中的内存指针指向同一片内存区域中。第二次mylist
=
shoplist和C语言中的内存复制是一个道理。
另一位朋友说是浅拷贝,我有不同看法,应该是深拷贝。slice在内存中重新申请了一片区域,是再一次重新建立的数据。改变原有元素的值,并不会改变新变量里的值。
可以通过对元素重新赋值,打印两变量,可得出结论。
=
shoplist
相当于C语言中的内存指针指向同一片内存区域中。第二次mylist
=
shoplist和C语言中的内存复制是一个道理。
另一位朋友说是浅拷贝,我有不同看法,应该是深拷贝。slice在内存中重新申请了一片区域,是再一次重新建立的数据。改变原有元素的值,并不会改变新变量里的值。
可以通过对元素重新赋值,打印两变量,可得出结论。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询