Python For循环以“c”而不是“d”开头
我无法理解这个for循环是如何工作的?所以你的范围是从0到2镜头-1-1,但是[:-1]反转了范围发送的任何内容 所以你的循环从2到1到0 s=abcd 如果要从d开始,请执行以下操作:Python For循环以“c”而不是“d”开头,python,for-loop,reverse,Python,For Loop,Reverse,我无法理解这个for循环是如何工作的?所以你的范围是从0到2镜头-1-1,但是[:-1]反转了范围发送的任何内容 所以你的循环从2到1到0 s=abcd 如果要从d开始,请执行以下操作: for 2 > it prints c for 1 > it prints b for 0 > it prints a 这是因为您的范围被转换为range2,-1,-1。您只需从范围镜头-1[:-1]中删除-1即可。类范围开始,停止[,步] range类型表示一个不可变的数字序列,通常用于在
for 2 > it prints c
for 1 > it prints b
for 0 > it prints a
这是因为您的范围被转换为range2,-1,-1。您只需从范围镜头-1[:-1]中删除-1即可。类范围开始,停止[,步] range类型表示一个不可变的数字序列,通常用于在for循环中循环特定次数。摘自python文档 要进一步阅读,请转到python文档: 阅读python文档中的上述内容并打印表达式:rangelens-1[:-1] 这将产生:
print(range(len(s)-1)[::-1])
因此,我们的代码是:
range(2, -1, -1)
现在,我希望您了解python在幕后的工作 对于s=abcd,镜头1等于3
范围3生成0、1、2
0,1,2[:-1]结果是2,1,0
因此for循环将为2,1,0中的i打印s[i],从而生成cba。范围不包括结尾,因此rangelens为0,1,2。请注意,在这种情况下,lens-1So i中的-1是从lens-1开始的,还是从0开始,字符串是颠倒的?不,您应该用rangelens s[::-1]替换rangelens-1[::-1]。我是从0开始还是从lens-1开始的
print(range(len(s)-1)[::-1])
range(2, -1, -1)
s="abcd"
for i in range(2, -1, -1):
print(s[i])