Looking at the source code, `list.remove`

uses the `PyObject_RichCompareBool`

function to compare objects. This function contains the following at the beginning:

```
/* Quick result when objects are the same.
Guarantees that identity implies equality. */
if (v == w) {
if (op == Py_EQ)
return 1;
else if (op == Py_NE)
return 0;
}
```

Last Updated : 19 May, 2020

`[1 2 3]`

[ [1 2 3] [4 5 6] ]

Size of each element of list in bytes: 48 Size of the whole list in bytes: 48000 Size of each element of the Numpy array in bytes: 8 Size of the whole Numpy array in bytes: 8000

```
Time taken by Lists: 0.15030384063720703 seconds
Time taken by NumPy Arrays: 0.005921125411987305 seconds
```

Lists don 't support list + int Modified Numpy array: [5 6 7]

NumPy arrays are faster and more compact than Python lists. An array consumes less memory and is convenient to use. NumPy uses much less memory to store data and it provides a mechanism of specifying the data types. This allows the code to be optimized even further.,Be aware that these visualizations are meant to simplify ideas and give you a basic understanding of NumPy concepts and mechanics. Arrays and array operations are much more complicated than are captured here!,Or even an empty array! The function empty creates an array whose initial content is random and depends on the state of the memory. The reason to use empty over zeros (or something similar) is speed - just make sure to fill every element afterwards!,Basic operations are simple with NumPy. If you want to find the sum of the elements in an array, you’d use sum(). This works for 1D arrays, 2D arrays, and arrays in higher dimensions.

conda install numpy

pip install numpy

`import numpy as np`

>>> a = np.arange(6) >>> a2 = a[np.newaxis,: ] >>> a2.shape(1, 6)

>>> a = np.array([1, 2, 3, 4, 5, 6])

>>> a = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ])