Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to create array in Python

Introduction

Arrays are an essential data structure in programming, allowing you to store and manipulate large amounts of data efficiently. In this blog, we will learn how to create and work with arrays in Python. We will start with an introduction to arrays, followed by various ways to create and manipulate them in Python. Throughout this blog, we will use simple code examples and analogies to help you understand the concepts better.

What is an Array?

An array is a data structure that stores a fixed-size sequence of elements of the same data type. Imagine an array as a series of boxes, where each box can store a single piece of data (like a number or a character). One of the key features of arrays is that they are indexed, meaning each box has a numeric position (index) that you can use to access its contents.

Arrays are useful when you need to store and work with large amounts of data because they are stored in contiguous memory locations, which makes them faster and more efficient than other data structures like lists.

Arrays in Python

Python doesn't have a built-in array data structure like some other programming languages. However, Python provides several ways to work with arrays:

  1. Using Lists: Lists in Python can work as arrays, but they are more versatile and flexible than traditional arrays.
  2. Using Tuples: Tuples are similar to lists, but they are immutable, meaning you cannot change their elements once they are created.
  3. Using the array module: Python provides the array module, which allows you to create and work with arrays of a specific data type.
  4. Using NumPy: NumPy is a popular third-party library for numerical computing in Python that provides powerful array functionality.

In this blog, we will focus on using lists and the array module to create and work with arrays in Python.

Creating Arrays using Lists

Lists in Python can be used as arrays since they can store a sequence of elements of the same data type. To create a list, you can use square brackets [] and separate the elements by commas. For example:

my_list = [10, 20, 30, 40, 50]
print(my_list)

Output:

[10, 20, 30, 40, 50]

You can also create an empty list using the [] notation and then append elements to it using the append() method:

my_list = []
my_list.append(10)
my_list.append(20)
my_list.append(30)
print(my_list)

Output:

[10, 20, 30]

Accessing Elements in a List

You can access individual elements in a list using their index. The index starts at 0 for the first element and increases by 1 for each subsequent element. For example:

my_list = [10, 20, 30, 40, 50]
print(my_list[0])  # 10
print(my_list[1])  # 20
print(my_list[2])  # 30

Modifying Elements in a List

Lists are mutable, meaning you can change their elements. To modify an element in a list, you can use the assignment operator = with the element's index:

my_list = [10, 20, 30, 40, 50]
my_list[1] = 25
print(my_list)  # [10, 25, 30, 40, 50]

Finding the Length of a List

To find the length (number of elements) in a list, you can use the len() function:

my_list = [10, 20, 30, 40, 50]
print(len(my_list))  # 5

Creating Arrays using the array Module

The array module in Python provides a more efficient way to create and work with arrays of a specific data type. To use the array module, you first need to import it:

import array

The array module provides an array class, which you can use to create arrays. The array class requires two arguments:

  1. A type code, which is a single character that indicates the data type of the elements in the array.
  2. An initializer, which is a list or a tuple containing the initial elements of the array.

Here's an example of creating an array of integers:

import array

my_array = array.array('i', [10, 20, 30, 40, 50])
print(my_array)

Output:

array('i', [10, 20, 30, 40, 50])

Here, 'i' is the type code for integers. The following are some common type codes used in the array module:

  • 'b': signed integer of size 1 byte
  • 'B': unsigned integer of size 1 byte
  • 'i': signed integer of size 2 bytes
  • 'I': unsigned integer of size 2 bytes
  • 'f': floating-point of size 4 bytes
  • 'd': floating-point of size 8 bytes

Accessing Elements in an Array

You can access elements in an array using their index, just like you would with a list:

import array

my_array = array.array('i', [10, 20, 30, 40, 50])
print(my_array[0])  # 10
print(my_array[1])  # 20
print(my_array[2])  # 30

Modifying Elements in an Array

You can modify elements in an array using the assignment operator = with the element's index:

import array

my_array = array.array('i', [10, 20, 30, 40, 50])
my_array[1] = 25
print(my_array)  # array('i', [10, 25, 30, 40, 50])

Finding the Length of an Array

To find the length (number of elements) in an array, you can use the len() function:

import array

my_array = array.array('i', [10, 20, 30, 40, 50])
print(len(my_array))  # 5

Conclusion

In this blog, we learned how to create and manipulate arrays in Python using lists and the array module. We saw how to create arrays, access and modify their elements, and find their length. We also discussed the differences between lists and arrays, and when to use each.

When working with arrays in Python, it's essential to choose the right data structure based on your needs. If you require flexibility and the ability to store elements of different data types, using lists is a great option. However, if you need to store large amounts of data of the same data type and want to optimize for performance, using the array module or a third-party library like NumPy might be a better choice.

As you continue learning programming, you'll encounter more complex data structures and algorithms that rely on arrays. Understanding how to work with arrays in Python is a crucial skill that will help you progress in your programming journey.