python中的约定范围值

python中的约定范围值,python,for-loop,range,Python,For Loop,Range,我无法理解python中的这个约定范围,即表示包括最后一个元素在内的所有元素的范围(len(s)-1)。对我来说没有任何意义,比如当我打印所有元素时,最后一个元素不包括在列表中。有人能帮我理解这个逻辑吗 这个> 结果是 您正在尝试将范围打印到编译器,您可以这样说,将大于1且小于10的打印数字打印到输出不包括1和10编译器在您的情况下仅打印2,3,4,5,6,7,8,9 s = "abccdeffggh" 如果这样打印,则该字符串长度必须为11 s = "abccdeffggh" for i

我无法理解python中的这个约定范围,即表示包括最后一个元素在内的所有元素的范围(len(s)-1)。对我来说没有任何意义,比如当我打印所有元素时,最后一个元素不包括在列表中。有人能帮我理解这个逻辑吗

这个> 结果是
您正在尝试将范围打印到编译器,您可以这样说,将大于1且小于10的打印数字打印到输出不包括1和10编译器在您的情况下仅打印2,3,4,5,6,7,8,9

s = "abccdeffggh"

如果这样打印,则该字符串长度必须为11

s = "abccdeffggh"
for i in range(len(s)):
    print(i)
输出为1,2,3,4,5,6,7,8,9,10,即介于0和11之间的数字

但是在你的代码中,你从长度中减去-1,然后你的范围变成-1和10,然后编译器打印-1和10之间的所有数字,它不包括-1和10

试试这个代码

s = "abccdeffggh"
print(len(s))
print(len(s)-1)
for i in range(len(s)):
    print(i)

范围(3)
迭代3次<代码>范围(len(s)-1)迭代
len(s)-1
次。有什么让人困惑的?为什么要使用
len(s)-1
?这特别告诉它使用的元素数要比元素数少一个,因此它当然会跳过最后一个。def count_nextant_repeats:“”(str)->int返回字符和相邻字符相同的出现次数。>>>计数相邻重复次数('abccdeffggh')3''重复次数=0,对于范围内的i(len(s)-1):如果s[i]==s[i+1]:重复次数=重复次数+1返回重复次数,因为我需要与此函数中包含停止元素的所有元素交互。谢谢你的反馈!我需要与此函数中的所有str元素交互:但是范围函数在最后一个元素处停止。。def count_INNECTION_REPECTS:“”(str)->int返回字符与相邻字符相同的出现次数。>>>对于范围内的i(len(s)-1),计数相邻重复次数('abccdeffggh')3''重复次数=0:如果s[i]==s[i+1]:重复次数=重复次数+1返回重复次数感谢您的反馈。
s = "abccdeffggh"
for i in range(len(s)):
    print(i)
s = "abccdeffggh"
print(len(s))
print(len(s)-1)
for i in range(len(s)):
    print(i)