十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编这次要给大家分享的是基于python测试如何将列表作为参数传入函数,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
创新互联是一家企业级云计算解决方案提供商,超15年IDC数据中心运营经验。主营GPU显卡服务器,站群服务器,四川乐山服务器托管,海外高防服务器,服务器机柜,动态拨号VPS,海外云手机,海外云服务器,海外服务器租用托管等。将一个列表传入函数后,会对这个列表本身产生什么改变?
这就是本文主要考察的内容。
list = [1,2,3,4,5,6,7] word = list.pop(0) print(word) print(list) # 输出结果理所当然地为: # 1 # [2, 3, 4, 5, 6, 7] # def a(temp): b = temp.pop(0) print(b) print(temp) a(list) # 输出结果为: # 2 # [3, 4, 5, 6, 7] # 此处,传给temp时,list是[2,3,...7],但pop后,原list # 有什么变化呢?试试下面的代码 print(list) # 输出结果为: # [3, 4, 5, 6, 7] # 可见,执行temp.pop函数后,list原本的值也受到了改变。 # 所以,一个数组(或者叫列表)传给temp时,传入的是指针 # 地址,而不是副本。下面的例子更加说明了这个问题 print(list[0]) def b(temp2): temp2[0] = temp2[0] + 10 # 将temp2这个列表的第一个元素,作+10的运算 b(list) print(list[0]) # 最终输出: # 3 # 13 # list在b函数内的经过temp2运作后,改变的是list本身的值 # 所以,将某个列表(比如这里的list)作为参数传入某个函数 # 其传递的是list所在的真实地址。所有修改也是对list直接 # 的修改。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。