簡體   English   中英

清單問題中的步驟,Python初學者

[英]Steps in list question, Python beginner

以下代碼包括最后一個數字。

>>> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> numbers[::3]
[1, 4, 7, 10]

為什么不包括最后一個數字2,例如10、8、6、4、2?

>>> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> numbers[:1:-2]
[10, 8, 6, 4]

似乎分片運算符只是不包含第二個參數。 換句話說,您的1應該是0

>>> numbers = [1,2,3,4,5,6,7,8,9,10]
>>> numbers[:1:-2]
[10, 8, 6, 4]
>>> numbers[:0:-2]
[10, 8, 6, 4, 2]

希望有幫助:)

有關更多信息,請參見此處的注5。

::以N個步驟遍歷列表。 所以它是1,然后轉到4,依此類推。如果想向后退2,則需要[::-2]

Python在遵循較低范圍(包括上限值)和較高范圍(不包括在內)的序列范圍模式方面非常一致。 也就是說,如果您說range(1,5)-> [1,2,3,4]。 包含較低的索引,不包含較高的索引。 這對於各種類型的一站式和柵欄錯誤有很大幫助。 有關此類問題的簡要說明,請參見Wikipedia

因為切片將范圍中的第二個數字排除在外。 a[1:4]獲取元素1、2和3。同樣, a[10:6:-1]獲取元素10、9、8和7,但不獲取6。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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