我正在努力理解切片的每一个方面,但我仍然在努力
以下是我迄今为止的理解:
完整切片语法为:start:stop:step
start
指元素的索引,该元素用作切片的开始stop
是指我们应该在完成切片之前停止的元素的索引step
允许您在开始:停止范围内获取每个第n个元素
好的,这一切都是有道理的,但是当我们反转列表时,我很困惑stop
是如何工作的
我使用Pycharm创建了这个简短的示例:
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print (nums[-2:1:-1])
Pycharm中的正确答案:[80,70,60,50,40,30]
但是,我认为止损点应该是10…因为索引[0]是10,索引[1]是20,如果我使用上面的逻辑。。。那么“就在索引[1]之前是索引[0],它是10。那么为什么它在30处停止呢..它是索引[2]
有人可能会就此逮捕我,但既然你往回看,索引[1]前面的数字确实是索引[2]。因为你做了负步进,所以把整个列表看作是相反的
有一件事可以帮助你:假装你站在售票线上。你的老板说“去看排队的人,在你找到戴帽子的人之前停下来”(戴帽子的人是索引[1])。您将停止的位置是索引[2]。然而,如果你和你的老板站在队伍的后面,他说“排队,在你找到戴黑帽子的人之前停下来”,你就会停在索引[0]。这完全是一个关于你从哪里开始的观点问题
谢谢大家。你的解释有道理。我希望这篇文章能帮助学习Python切片的人
相关问题 更多 >
编程相关推荐