DEV Community

arasosman
arasosman

Posted on • Originally published at mycuriosity.blog

How to Create NumPy Arrays from Lists

From Lists to Numerical Powerhouse

Python lists are great, but when you need serious number crunching, NumPy arrays are your secret weapon. The conversion is simple, but knowing the nuances makes all the difference.

Array Creation Magic

import numpy as np

# Basic conversion
python_list = [1, 2, 3, 4, 5]
array = np.array(python_list)
print(array)  # [1 2 3 4 5]

# 2D arrays from nested lists
matrix_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
matrix = np.array(matrix_list)
print(matrix)
# [[1 2 3]
#  [4 5 6]
#  [7 8 9]]

# Specify data type explicitly
float_array = np.array([1, 2, 3], dtype=np.float32)
print(float_array)  # [1. 2. 3.]

# From list of tuples
coordinates = [(1, 2), (3, 4), (5, 6)]
coord_array = np.array(coordinates)
print(coord_array.shape)  # (3, 2)

# Mixed types get promoted
mixed = [1, 2.5, 3]
mixed_array = np.array(mixed)
print(mixed_array.dtype)  # float64

# Creating arrays of objects
objects = ['hello', 42, [1, 2, 3]]
obj_array = np.array(objects, dtype=object)
Enter fullscreen mode Exit fullscreen mode

Why NumPy Arrays Beat Lists

NumPy arrays offer:

  • Speed: Operations are 10-100x faster
  • Memory efficiency: Contiguous memory layout
  • Broadcasting: Operate on entire arrays at once
  • Rich functionality: Built-in mathematical operations

Common Pitfalls to Avoid

  • Lists with inconsistent shapes create object arrays
  • Automatic type promotion might surprise you
  • Deep vs shallow copies when converting

Power Up Your Python

Master NumPy array reshaping, explore NumPy's mathematical functions, and dive into scientific computing with Python.

Top comments (0)