for循环,当数组具有特定大小时,它不会完全迭代

时间:2019-06-20 20:55:25

标签: python

当我有这个数组

 A = [1,2,3]

我做了这个基本的for循环,以遍历除最后一个位置以外的整个数组

index = 0
for i in range(1,len(A)-1):
    print(i)
    if A[i] > A[index]:
        index = i

应该执行2次迭代,但是当我打印“ i”时,这就是输出

1

PS。我尝试了这个数组,它工作得很好

B= [7,5,14,2,8,8,10,1,2,3] 

有关正在发生的事情的任何提示?谢谢您的时间

edit =我已经放置了索引声明 编辑2 =问题已解决

2 个答案:

答案 0 :(得分:0)

range()函数返回一个数字序列,默认情况下从0开始,以1递增(默认),并以指定的数字结束。

语法:

range(start, stop, step)

这里,需要注意的重要一件事是停靠点是排他性的。因此,如果您从1len(A)-1运行一个循环,那么实际上它将从1len(A)-2运行,这只是代码中的一次迭代。

因此,为了进行两次迭代,如果要从索引range(1,len(A)-1)开始,请将range(0,len(A)-1)替换为range(len(A)-1)0,如果要从索引range(1,len(A))替换1希望从 location[0] + '&lon=' + location[1] + '&APPID=8e6150cf719d58fc8062d507eaba92c0' const [data, loading] = useFetch(url); console.log(data.main.temp) // returns undefined console.log(data.name) // logs name 开始并进行两次迭代。

答案 1 :(得分:0)

我假设您要创建一个大于特定值的项目列表,如果这样做,是这样的:

a = 5
b = [1, 5, 6, 2, 10, 69, 42, 7]
c = []
for I in b:
    if I > a:
        c.append(I)
print(*c)

您的问题还不清楚,您的目标到底是什么?