There are the following methods to **convert** a **list** to an **array** in **Python**.

**np.array()**: It takes a list and returns an array containing all the list elements.**np.asarray()**: It accepts a list, converts it into an array, and returns it.**arr.array():**It accepts the list and data type and returns the array.

**Method 1: Using the np.array() method**

To **convert** a **list** to an **array** in **Python**, you can use the **np****.array()** method. The function takes a list as an argument and returns an array containing all the list elements.

```
import numpy as np
elon_list = [11, 21, 19, 18, 29]
elon_array = np.array(elon_list)
print(elon_array)
print(type(elon_array))
```

**Output**

```
[11 21 19 18 29]
<class 'numpy.ndarray'>
```

In this example, we defined a list, which we converted into an array using the **np.array() **function and printed the array and its data type. To check variable data type, use the **type() **function.

**Method 2: Using numpy.asarray() method**

The **np.asarray()** is a **numpy** **library** **function** that takes a list as an argument converts it into an array, and returns it.

As per the definition of the numpy.asarray() function, it calls the **numpy.array()** function inside itself. So behind the scenes, the **np.asarray()** function calls the **np.array()** function.

```
def asarray(a, dtype=None, order=None):
return array(a, dtype, copy=False, order=order)
```

The main difference between **numpy.array()** and **numpy.asarray()** is that the copy flag is **False** in the case of **numpy.asarray()** and **True** (by default) in the case of **numpy.array()**.

```
import numpy as np
elon_list = [11, 21, 19, 18, 29]
elon_array = np.asarray(elon_list)
print(elon_array)
print(type(elon_array))
```

**Output**

```
[11 21 19 18 29]
<class 'numpy.ndarray'>
```

**Method 3: Using the arr.array() method**

You can use the **array.array()** method to convert a **list** to an **array**. To use the **array()** method from the **array** **module**, you need to import the **array** **module** and specify the data type and the **list** as arguments.

```
import array as arr
data_list = [11, 21, 19, 18, 29]
data_array = arr.array('i', data_list)
print(data_array)
print(type(data_array))
```

**Output**

```
array('i', [11, 21, 19, 18, 29])
<class 'array.array'>
```

**np.array vs np.asarray**

The **main** **difference** between **np.array()** and **np.asarray()** is that **np.array()** will create a duplicate of the original object, and **np.asarray()** will follow the changes in the original object.

For example, when a copy of the array is made using **np.asarray()**, the modifications made in one array would be reflected in the other array but don’t display the changes in the list from which an array is made. In the case of **np.array()**, this doesn’t happen.

**FAQs**

**Why would I want to convert a list to an array in Python?**

Converting a list to an array in Python can be helpful when performing mathematical operations on the list elements, as arrays are optimized for these operations.

Additionally, converting a list to an array can help to reduce memory usage and increase the performance of your code.

**Can I convert a list of different data types to an array in Python?**

**No**, all the elements in an array must have the same data type. If you have a list with elements of different data types, you must convert them to a common data type before converting the list to an array. This can be done using type-casting functions such as **int**, **float**, and **str**.

**How does converting a list to an array affect the performance of my code?**

Converting a list to an array in Python can significantly improve the performance of your code, especially if you are performing mathematical operations on the elements of the list.

Arrays are optimized for these types of operations and can be faster and more memory-efficient than lists.

**Conclusion**

The best and an efficient way to **convert** a **list** to an **array** in Python is to use the **np.array()** function.

The best way to **convert** an **array** to a **list** is to use the **list()** **function** in **Python**.