Для перебора через массив Numpy выдает ошибку

#python #numpy #for-loop

#python #numpy #для цикла

Вопрос:

Я новичок в python и не понимаю, почему этот цикл for не будет работать.

 i = np.random.uniform(0,1,100)

# this does not give error
print(i[0])
print(i[1])
print(i[2])

# this gives error
for x in i:
     print( i[x] )
  

Я полагаю, это как-то связано со строкой for x in i: . Итак, каков был бы правильный способ перебора i?

Комментарии:

1. x это не индекс, это сам элемент. Вы должны просто использовать print(x) .

Ответ №1:

В for x in i: , x будут все элементы i . Итак, ваш оператор цикла должен быть

 for x in i:
     print( x )
  

Если вы хотите x быть индексом, вы должны использовать следующий код, чтобы x он был от 0 до len(i) -1 (весь индекс i ):

 for x in range(len(i)):
     print( i[x] )
  

Кроме того, я рекомендую вам использовать x в качестве имени массива и i в качестве индекса, который является целым числом.

Комментарии:

1. это сработало! я вижу, x не будет номером индекса и является самим фактическим элементом. python интересен