雪之下雪乃. 发表于 2020-4-1 18:37:33

Python中遇到的难题 8

def myrev(data):
    #这里range 生成了 data的倒序索引
    #注意 ,range的结束位置是不包含的

    for index in range(len(data)-1,-1,-1):
      yield data


为什么for语句会形成 data的倒序索引的呢   结束位置不包含有是什么意思的呢

qiuyouzhi 发表于 2020-4-1 18:41:33

1,因为步长为-1,也就是从后往前。
2,因为有0的存在,要给它留个位置,
所以不包含结尾

zltzlt 发表于 2020-4-1 18:59:08

1. 因为步长为 -1,而且结束位置为 -1,表示从后往前。

2. 举个例子,如果 stop 为 0 则不会迭代出 0,只会迭代出 1 。因为要保留 0,所以将 stop 设置为 -1 。

十月故里 发表于 2020-4-1 20:33:54

range里面的参数是这样的
range(start,stop,step)
他的取值范围是[start,stop)
注意这是一个半闭合结构,start值会取,stop值不会取
step控制每次的步长
回到你的题目
for index in range(len(data)-1,-1,-1):
他是从data的索引为len(data)-1开始到-1(但不取,取到0结束),按-1的步长来步进
页: [1]
查看完整版本: Python中遇到的难题 8