如果我们在for循环中取一个数组,如何指定范围

时间:2018-02-25 05:10:40

标签: python for-loop

我正在学习python,我想迭代指定的时间但是使用数组变量 我在网上搜索了我们可以使用范围函数。

但是我无法使用range()

进行迭代

这是我的简化代码: -

array=[1,2,3,4,5]

for record in array:
    print(record)

我只想打印前3个索引。 在这里我只是采用数组中的数字作为参考实际上我正在从文本文件中填充内容并将其存储在数组中并逐行打印。然后进行进一步排序

以下是我正在尝试的代码: -

array=[1,2,3,4,5]

for record in range(0,2,array):
    print(record)  

我得到的错误: - List对象不能解释为整数

2 个答案:

答案 0 :(得分:0)

您可以采取各种途径。假设您要打印数组的前3个元素,请参阅以下两个元素:

array=[1,2,3,4,5]

1)切片阵列

# start at index 0 and go until index 2
for record in array[0:3]: 
    print(record)

2)使用变量迭代数组

# range(3) = [0, 1, 2]
for i in range(3): 
    print(array[i])

答案 1 :(得分:0)

在此代码部分中-

array=[1,2,3,4,5]

for record in range(0,2,array): print(record)

范围功能具有3个参数。第一个是开始索引,第二个是结束索引,第三个是您希望数字出现的间隔。因此,举个例子-

对于范围(0,5,2)中的i: 打印(i)

此代码将打印0、2、4作为答案。范围函数将从0开始,每2个数字返回一次,直到4(不是5,因为排除了5)。

您的代码给出了错误,因为您提到了数组作为第三个参数,但它期望使用整数

for record in range(0,2,len(array)): print(record)

您可以尝试这样做,但是它只会返回0,因为从本质上讲,此for循环简化为-

for record in range(0,2,5)

因此,在返回起始编号之后,它将尝试获取您没有的下一个第5个编号(因为第2个参数为2)。希望这可以澄清。