Iterating over arrays in Python 3 Iterating over arrays in Python 3 arrays arrays

Iterating over arrays in Python 3


When you loop in an array like you did, your for variable(in this example i) is current element of your array.

For example if your ar is [1,5,10], the i value in each iteration is 1, 5, and 10.And because your array length is 3, the maximum index you can use is 2. so when i = 5 you get IndexError.You should change your code into something like this:

for i in ar:    theSum = theSum + i

Or if you want to use indexes, you should create a range from 0 ro array length - 1.

for i in range(len(ar)):    theSum = theSum + ar[i]


The for loop iterates over the elements of the array, not its indexes.Suppose you have a list ar = [2, 4, 6]:

When you iterate over it with for i in ar: the values of i will be 2, 4 and 6. So, when you try to access ar[i] for the first value, it might work (as the last position of the list is 2, a[2] equals 6), but not for the latter values, as a[4] does not exist.

If you intend to use indexes anyhow, try using for index, value in enumerate(ar):, then theSum = theSum + ar[index] should work just fine.


You can use

    nditer

Here I calculated no. of positive and negative coefficients in a logistic regression:

b=sentiment_model.coef_pos_coef=0neg_coef=0for i in np.nditer(b):    if i>0:    pos_coef=pos_coef+1    else:    neg_coef=neg_coef+1print("no. of positive coefficients is : {}".format(pos_coef))print("no. of negative coefficients is : {}".format(neg_coef))

Output:

no. of positive coefficients is : 85035no. of negative coefficients is : 36199