Lesson 8 of 47
In Progress

# Arrays

##### Yasin Cakal

Arrays are one of the most important data structures used in computer programming. They are a collection of elements that are stored in a linear fashion and can be used to store and manipulate data efficiently. In this article, we will be discussing arrays, their creation and initialization, accessing and modifying elements, common array methods, and two-dimensional arrays. With each topic, we will provide code examples to help solidify concepts and help you understand how arrays work. By the end of this article, you should have an understanding of how to use arrays in Python to structure and manipulate data.

## Creating and Initializing Arrays

In Python, there are many ways to create and initialize an array. The simplest way to create an array is to use the array.array() function. The array.array() function takes in one argument which is the data type of the array elements. This function creates an empty array in which you can store elements of the specified data type.

For example, if you wanted to create an array to store integers, you could do the following:

import array

# Create an array to store integers
int_array = array.array('i')

print(int_array) # prints: array('i', [])

The above code creates an empty array of integers. You can see that the array is empty by printing it out.

In addition to creating an empty array, you can also initialize an array with data. You can do this by passing a list of elements to the array.array() function as the second argument. For example, if you wanted to create an array of integers with the values [1, 2, 3] you could do the following:

import array

# Create an array of integers
int_array = array.array('i', [1, 2, 3])

print(int_array) # prints: array('i', [1, 2, 3])

The above code creates an array of integers with the values [1, 2, 3].

## Accessing Elements of Arrays

Once you have created an array, you will need to know how to access the elements of the array. To access elements of an array, you can use the index operator ([]). The index operator takes in a single argument which is the index of the element you wish to access. The first element of the array has an index of 0 and the last element of the array has an index of len(array)-1.

For example, if you wanted to access the first element of the array int_array, you could do the following:

# Access the first element of int_array
first_element = int_array[0]

print(first_element) # prints: 1

The above code accesses the first element of the array int_array which is 1.

## Modifying Elements of Arrays

In addition to accessing elements of arrays, you can also modify the elements. To modify the elements of an array, you can use the index operator ([]). The index operator takes in two arguments, the index of the element you wish to modify and the new value you wish to assign to the element.

For example, if you wanted to modify the third element of the array int_array, you could do the following:

# Modify the third element of int_array
int_array[2] = 4

print(int_array) # prints: array('i', [1, 2, 4])

The above code modifies the third element of the array int_array which is now 4.

## Common Array Methods

In addition to accessing and modifying elements of an array, there are also many useful methods that can be used with arrays. The most common methods are append(), extend(), insert(), remove(), pop(), and clear().

The append() method takes in a single argument which is the element you wish to add to the end of the array. For example, if you wanted to add the integer 5 to the end of the array int_array, you could do the following:

# Add the integer 5 to the end of int_array
int_array.append(5)

print(int_array) # prints: array('i', [1, 2, 4, 5])

The above code adds the integer 5 to the end of the array int_array.

The extend() method takes in a single argument which is a list of elements you wish to add to the end of the array. For example, if you wanted to add the integers 6 and 7 to the end of the array int_array, you could do the following:

# Add the integers 6 and 7 to the end of int_array
int_array.extend([6, 7])

print(int_array) # prints: array('i', [1, 2, 4, 5, 6, 7])

The above code adds the integers 6 and 7 to the end of the array int_array.

The insert() method takes in two arguments, the index of the element you wish to insert and the element you wish to insert. For example, if you wanted to insert the integer 8 at index 2 of the array int_array, you could do the following:

# Insert the integer 8 at index 2 of int_array
int_array.insert(2, 8)

print(int_array) # prints: array('i', [1, 2, 8, 4, 5, 6, 7])

The above code inserts the integer 8 at index 2 of the array int_array.

The remove() method takes in a single argument which is the element you wish to remove from the array. For example, if you wanted to remove the integer 8 from the array int_array, you could do the following:

# Remove the integer 8 from int_array
int_array.remove(8)

print(int_array) # prints: array('i', [1, 2, 4, 5, 6, 7])

The above code removes the integer 8 from the array int_array.

The pop() method takes in a single argument which is the index of the element you wish to remove from the array. For example, if you wanted to remove the element at index 2 of the array int_array, you could do the following:

# Remove the element at index 2 of int_array
int_array.pop(2)

print(int_array) # prints: array('i', [1, 2, 5, 6, 7])

The above code removes the element at index 2 of the array int_array.

The clear() method takes no arguments and removes all elements from the array. For example, if you wanted to remove all elements from the array int_array, you could do the following:

# Remove all elements from int_array
int_array.clear()

print(int_array) # prints: array('i', [])

The above code removes all elements from the array int_array.

## 2D Arrays

In addition to one-dimensional arrays, you can also create two-dimensional arrays. Two-dimensional arrays are useful for storing and manipulating two-dimensional data. In Python, two-dimensional arrays can be created using the numpy library.

The numpy library is a powerful library for scientific computing in Python. To use the numpy library, you must first import it.

import numpy as np 

Once you have imported the numpy library, you can create two-dimensional arrays using the numpy.array() function. The numpy.array() function takes in one argument which is a list of lists. For example, if you wanted to create a two-dimensional array with the values [[1, 2], [3, 4]], you could do the following:

# Create a two-dimensional array
two_dimensional_array = np.array([[1, 2], [3, 4]])

print(two_dimensional_array) # prints: array([[1, 2],
[3, 4]])

The above code creates a two-dimensional array with the values [[1, 2], [3, 4]].

## Conclusion

In this article, we discussed arrays, their creation and initialization, accessing and modifying elements, common array methods, and two-dimensional arrays. We also provided code examples to help solidify concepts and help you understand how arrays work. By the end of this article, you should have an understanding of how to use arrays in Python to structure and manipulate data.

## Exercises

#### Create an array of integers with the values [1, 2, 3, 4, 5].

import array

# Create an array of integers
int_array = array.array('i', [1, 2, 3, 4, 5])

#### Add the integer 6 to the end of the array int_array.

# Add the integer 6 to the end of int_array
int_array.append(6)

#### Insert the integer 7 at index 3 of the array int_array.

# Insert the integer 7 at index 3 of int_array
int_array.insert(3, 7)

#### Remove the element at index 4 of the array int_array.

# Remove the element at index 4 of int_array
int_array.pop(4)

#### Create a two-dimensional array with the values [[1, 2], [3, 4], [5, 6]].

import numpy as np

# Create a two-dimensional array
two_dimensional_array = np.array([[1, 2], [3, 4], [5, 6]])