函数内改变外部的一个list如果这么写
def rotate(nums, k):
length=len(nums)
if length!=0:
nums=nums[length-k:length]+nums[0:length-k]
l=[1,2,3,4,5,6,7]
rotate(l,3)
print(l)
外部的list并没有改变,而返回的是[1, 2, 3, 4, 5, 6, 7]
要改变list中的内容需要这么写
def rotate(nums, k):
length=len(nums)
if length!=0:
nums[:]=nums[length-k:length]+nums[0:length-k]
l=[1,2,3,4,5,6,7]
rotate(l,3)
print(l)
这样就返回的是[5, 6, 7, 1, 2, 3, 4]
至于为什么还没搞懂,先记下来。。。