gpt4 book ai didi

python - Python 中的范围索引

转载 作者:行者123 更新时间:2023-12-05 05:06:01 24 4
gpt4 key购买 nike

我对python中Range函数的理解是:

  • 范围(起点、终点、索引量)

当“amount to index by”为负数时,你基本上是在倒退,从末尾到前面。

那么我的问题是:

  • 反向时,position -end point- 的值没有被计算吗?

例如,如果我想反转字符串“a,b,c”(我知道你可以只做字符串[::-1],但这不是这里的重点)

string = 'a,b,c'

strlist = list(string.split(","))

empty_list = []

for i in range((len(strlist)-1),-1,-1):
print(strlist[i])

#this gets me "cba"

然而,当我在 for 循环中将结束点从“-1”更改为“0”时,只会打印“cb”:

string = 'a,b,c'

strlist = list(string.split(","))

empty_list = []

for i in range((len(strlist)-1),0,-1):
print(strlist[i])

#this only gets me "cb"

感谢您的宝贵时间:)

最佳答案

第一个例子中发生的事情是这样的:

for i in range((len(strlist)-1),-1,-1):
print(strlist[i])

len(strlst) - 1 = 2,所以当您将它用作 for 循环的起始索引时,这显然是最后一个字母,因为它被索引为 0 , 1, 2。这将返回 c, b, a 的预期结果。

当你的终点有-1时,它会在迭代器减一3次后结束(2, 1, 0,当它到达-1。)

for i in range((len(strlist)-1),0,-1):
print(strlist[i])

无论何时您将 0 作为终点,它都会停在列表的 0 位置,即第一项。这将返回 c, b 而不是 c, b, a。希望这会有所帮助。

关于python - Python 中的范围索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60219937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com