列表切片开始和结束

时间:2016-04-18 19:37:02

标签: python

string = "ABCDEFGH"

任何人都可以解释为什么在string[start:end:stride]中,开始时始终从0开始,而1结束时开始。

例如 string[0:3:1]将结果输出为"ABC"。您可以看到我说end = 3所以string[0:3:1]不应该"ABCD"因为计算机首先阅读0吗?

还有一件事:我没有得到结果 string[0:8:-1]。不应该是"HGFEDCBA"吗?我不知道syntax是否错误,但我可以print string[::-1]的结果。

1 个答案:

答案 0 :(得分:0)

len(string)=8开始,片string[0:8]被解释为“所有存储器索引0-7”(即8个总索引)。 python中的最后一个索引是“最多但不包括”。

对于问题的第二部分,语法为string[7::-1]string[0:8:-1]从0开始并尝试递增“向后”,但由于它在迭代开始时已经达到“0”,因此不会发生遍历。