为什么list传入函数中,不需要返回,而值却发生了变化,这是什么机制?

徐永军 Python 算法入门详解 最后由 jike_2974173 于2017年08月22日回复

  • 2 回答
  • 1.4k 浏览

ww = [7, 9, 2, 34, 63, 99, 33, 5]

kp(ww, 0, len(ww) - 1)

print ww


快排示例中,kp()函数中没有返回值,而在外面定义的ww结果却发生了变化,这是python的什么机制


  • 极客学院_吕布 2015年10月08日 回答 #1楼
  • list作为函数参数,其实是内存地址传入,其实在函数中也是操作list本身,在函数入栈出栈过程中并没有拷贝复制另一个list。

  • 0 评论
  • jike_2974173 2017年08月22日 回答 #2楼
  • 因为他是在ww原数组的基础上进行排序的,所以排序完成后,ww数组就是一个有序数组,直接输出就可以 

  • 0 评论