[英]Python Slicing Problem , when step is negative what is going on?
a[:-3:-1] # the last two items, reversed
a[-3::-1] # everything except the last two items, reversed
我不明白這兩個切片是如何發生的。 對於您看到的第一個命令,沒有給出第一個元素。 所以理想情況下它應該從頭開始,但事實並非如此。 它正在反向打印最后兩個元素。
對於第二個,如果您看到 -3 表示它指的是末尾的第三個元素,但切片是從頭開始的。 我完全被困住了,不知道為什么。
正步長值將從左到右遍歷列表。 負步長值從右到左遍歷列表。
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
nums[::1] # '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]'
nums[::-1] # '[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]'
nums[1::-1] # '[2, 1]'
nums[:-3:-1] # '[10, 9]'
nums[-3::-1] # '[8, 7, 6, 5, 4, 3, 2, 1]'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.