# python list vs array vs Numpy Array

In this blog post, let’s understand the difference between Python lists and NumPy Array.

There are four types of data formats in Python, Including List, Set, Tuple, and Dictionary. Each has a different quality and application.

We’ll focus specifically on the List and compare it with the Array function to see how they are not the same, and which is better in which case.

## Here is the difference between Python List and Array

The very clear difference is that the List is a default Python function.

Everyone can use it using [] and store heterogeneous data, can’t be applied arithmetic operations on it.

Whereas, The array is a function from the NumPy library, or you need to install a module (array) to use it- especially to store only the same data type.

All Mathematical operations can easily be applied

## When to use Python List?

The Python list is a collection of elements that can be numeric, character, logical, etc. As such, a list can contain elements of different data types.

It Supports duplicate items with the same values, and the order of the items can be changed by using built-in Python operations.

Also, there are built-in Python functions that make merging and copying list items easier.

You can create a list of data values using [] that will have a negative index and supports ordering.

Normally, the list indexing starts with 0, which means every first member in a list will have an indexing value of 0, procedurally, the second number will have an index number of 1.

## When to use NumPy Arrays?

An array is a set of homogeneous elements, which can be modified by adding, deleting, or accessing the elements.

All of which are allocated with contiguous memory locations- which means, easier to track out an item’s position.

To use Arrays, either you need to import the array module or the NumPy library.

Basically, most of its use is to list out large data sets which all must be the same type.

Ideally, the function comes in handy performing arithmetic operations on similar data types with different index values. Which cannot be done in the Python list.

Importantly, the items in an array are ordered the same as the Python list. Also, enclosed in [] brackets.

## Python list vs NumPy Arrays- Comparison

Also read: Solution for indexerror: list index out of range in python

### What the Python List feature can do?

Python provides lists, which are basic data structures that contain a collection of different items.

Below are some important list characteristics:

Creating a List

Simply enclosed elements in large brackets.

```List_example = ["blog", "internet", "device"]
print (List_example)```

Output

Allows duplicate Elements

```List_example = ["blog", "internet", "device", "blog", "internet"]
print (List_example)```

Output

Support Different data types

```List_example= ["blog", "2", "internet", "device", "blog", "internet", "1"]
print (List_example)```

Output

Elements have negative indexing

```List_example= ["blog", "2", "internet", "device", "blog", "internet", "1"]
print(List_example[-3])```

Output

### What the Array Feature can do?

By the definition, we know that Arrays can only contain homogenous data types.

However, there’s a difference between Python’s built-in Array module and NumPy array.

Rounding up- Numpy arrays are used for performing advanced arithmetic operations on homogeneous Items, e,g the Matrix operations can be applied.

Whereas, Built-in arrays are good if you want to use basic arithmetic operations on a list of elements.

Creating a 2D NumPy list

```import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr)```

Output