簡體   English   中英

Python 切片問題,當 step 為負時發生了什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM