【发布时间】:2020-09-06 21:48:06
【问题描述】:
Python list nums = [1,2,3,4,5,6,7], k = 3. 将数组向右旋转 k 步。
A:
有什么区别nums[:k] = nums[len(nums)-k:]
nums[k:] = nums[:len(nums)-k]
和B:
nums[:k], nums[k:] = nums[len(nums)-k:], nums[:len(nums)-k]
A 的输出是[5,6,7,5,6,7,4]
B 的输出是[5,6,7,1,2,3,4]
您能否解释一下它是如何工作的以及为什么输出不同?
【问题讨论】:
-
请从intro tour 重复on topic 和how to ask。在您发布时,我们希望您已经手动模拟了代码(因为它很短),并插入了战略性的
print语句来跟踪值。展示这项工作的结果,并解释你不理解复合赋值和/或切片的地方。