python3 中 num[ : ] 与 num有什么区别

nums[:] = nums[:sign+1]+ sorted(nums[sign+1:])
nums = nums[:sign+1]+ sorted(nums[sign+1:])

leetcode 下一个排列
上面的写法是对的 下面的不通过 请问二者之间有什么区别?

你那边不通过,提示消息是什么

num是函数变量么?后者无法作用到函数的实参上。

nums=[10,20,30,40,50,60]
sign=2
nums[:] = nums[:sign+1]+ sorted(nums[sign+1:])
nums=nums[:sign+1]+ sorted(nums[sign+1:])

可以通过呀,列表可以用:进行切片,如果不指定起始位置终止位置和步长的话,就会从list本身的开始到结尾以步长为1进行切片。nums[:]就相当于nums本身,是一个列表,看你代码是把前sign个数据拿出来,后面的sign+1到最后的所有元素合并成新的列表