NumPy: Make an array immutable
Make Array Read-Only
Write a NumPy program to make an array immutable (read-only).
Sample Solution:
Python Code:
# Importing the NumPy library and aliasing it as 'np'
import numpy as np
# Creating a NumPy array 'x' filled with zeros, containing 10 elements
x = np.zeros(10)
# Setting the 'writeable' flag of the array 'x' to False, making it read-only
x.flags.writeable = False
# Printing a message to test whether the array is read-only or not
print("Test the array is read-only or not:")
# Attempting to change the value of the first element in the array 'x'
print("Try to change the value of the first element:")
x[0] = 1 # This line will raise an error since the array is read-only
Sample Output:
Test the array is read-only or not: Try to change the value of the first element: Traceback (most recent call last): File "24222080-0d5f-11e7-93ad-ebc5bbb63894.py", line 6, inx[0] = 1 ValueError: assignment destination is read-only
Explanation:
In the above code –
‘x = np.zeros(10)’ creates a 1D NumPy array with 10 elements, all initialized to 0 and stores it in the variable ‘x’.
x.flags.writeable = False: This line sets the writeable flag of the x array to False, making the array read-only. This means that any attempt to modify the elements of the array will result in an error.
x[0] = 1: This line tries to set the first element of the array x to 1. However, since the array is read-only, this operation will raise a ValueError.
Python-Numpy Code Editor:
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics