Home »
Python »
Python Programs
What is the difference between i+1 and i += 1 in a for loop with NumPy?
Learn the difference between i+1 and i += 1 in a for loop with NumPy in Python?
By Pranit Sharma Last updated : October 09, 2023
NumPy is an abbreviated form of Numerical Python. It is used for different types of scientific operations in python. Numpy is a vast library in python which is used for almost every kind of scientific or mathematical operation. It is itself an array which is a collection of various methods and functions for processing the arrays.
Difference between i+1 and i += 1 in a for loop
In an incremental for loop i = i + 1 reassigns i, i += 1 increments i by 1. The difference is that one modifies the data-structure itself (in-place operation) b += 1 while the other just reassigns the variable a = a + 1.
But, i += 1 is not always doing an in-place operation, there are (at least) three exceptions:
- If x does not implement an __iadd__ method then the i += 1 statement is just a shorthand for i = i + 1. This would be the case if i was something like an int.
- If __iadd__returns NotImplemented, Python falls back to i = i + 1.
- The __iadd__method could theoretically be implemented to not work in place. It would be really weird to do that, though.
As it happens your bs are numpy.ndarrays which implements __iadd__ and return itself so your second loop modifies the original array in-place.
Let us understand with the help of an example,
Python program to demonstrate the difference between i+1 and i += 1 in a for loop
# Import numpy
import numpy as np
# Creating an array
arr = np.arange(12).reshape(4,3)
# Display original array
print("Array 1:\n",arr,"\n")
# Using for loop with a = a+1
for i in arr:
i = i + 1
# Display arr
print("Array 1:\n",arr,"\n")
# Creating an array
arr2 = np.arange(12).reshape(4,3)
# Display arr 2
print("Array 2:\n",arr,"\n")
# Using for loop with a+=1
for i in arr2:
i+=1
# Display arr 2
print("Array 2:\n",arr2,"\n")
Output
The output of the above program is:
Python NumPy Programs »