Mastering Python Data Structures: Lists in Python

Last updated on 09th February 2023

Lists in Python are an essential data structure for organizing a collection of elements that can be of any type, including numbers, strings and other data structures. A List is a mutable data type which means the elements of a List can be modified or replaced and elements can be rearranged. You can also add and remove elements from the list anytime after it is created.

Creating Lists in Python

Lists are created using square brackets []. When creating a list, you can also include elements separated by commas within the brackets, For example:

months = ["January", "August", "September"]

This creates a list called months with three elements. You can also create an empty list using square brackets without any elements:

empty_list = []

Accessing Elements in a List

Elements in a list can be accessed using their index, which is a zero-based integer that represents their position in the list. For example, the first element in the months list can be accessed as follows:

print(months[0]) # Output: "January"

You can also use negative indices to access elements from the end of the list. For example, the last element in the months list can be accessed as follows:

print(months[-1]) # Output: "September"

Modifying Elements in a List

As mentioned earlier, you can add, remove, modify or change the order of elements after the list has been created. For example, to change the second element in the months list, you can use the following syntax:

months[1] = "February"
print(months) # Output: ["January", "February", "September"] 

Adding Elements to a List

There are several ways to add elements to a list in Python.

  • using the append method to add elements to the end of the list.

    months.append("October")
    print(months) # Output: ["January", "February", "September", "October"]
    
  • using the insert method to add an element at a specific index:

    months.insert(2, "March")
    print(months) # Output: ["January", "February", "March", "September", "October"]
    
  • using the extend method to add multiple elements to the end of the list:

    months.extend(["November", "December"])
    print(months) # Output: ["January", "February", "March", "September", "October", "November", "December" ]
    

Removing Elements from a List

There are mainly two ways to remove elements from a list in Python.

  • uing the remove method to remove the first occurrence of a specific element.

    months.remove("September")
    print(months) # Output: ["January", "February", "March", "October", "November", "December" ]
    

    Note: Only the first element with the specified value is removed even if multiple elements with the same value exist on the list.

  • using the pop method to remove an element at a specified index.

    months.pop(3)
    print(months) # Output: ["January", "February", "March", "November", "December" ]
    
  • using the clear method to remove all elements from the list.

    months.clear()
    print(months) # Output: []
    

The pop method returns the item removed from the list while remove method does not return any value.

Sorting Element in a List

You can sort elements in a list using the sort method. By default, the elements are sorted in ascending order, but you can sort in descending order by passing the reverse=True argument.

numbers = [ 5, 3, 9 , 2, 1] 
numbers.sort()
print(numbers) # Output: [1, 2, 3, 5, 9]
number.sort(reverse=True)
print(numbers) # Output:[9, 5, 3, 2, 1]

Slicing Elements from a List

You can extract just a few elements from the list by specifying the index positons in square brackets. The syntax is:

list[i:j] will returns elements starting from index position i to position j-1.
print(numbers) # Output:[9, 5, 3, 2, 1]
print(number[1:4]) # Output:[5, 3, 2]

This doesnt change the original list.

Joining two lists

You can concatenate two or more lists together using the + operator.

boys = ['Jack','Ryan']
girls = ['Emma', 'Karen']
kids = boys + girls
print(kids) # Output:['Jack', 'Ryan','Emma', 'Karen']

Repeating Elements of a list

You can make the elements of a list repeat multiple times using the * operator. For example, mylist * 10 would result in a new list that includes all the elements of mylist repeated ten times.

ones = [1] * 5
print(ones) # Output: [1, 1, 1, 1, 1]

Search an Element in the List

You can use the in operator to check if a given element is in the list. The expression will evaluate to True if element exist or false otherwise.

print('Jack' in kids) # Output: True

Looping through List Elements

There are several ways you can loop through the elements in a list including

  • using for loop.

    cars = [Audi, FORD, BMW] 
    for car in cars:
       print(car)
    # Output:
    Audi
    FORD
    BMW
    

    In this example, the for loop iterates over each element in the cars list and assigns it to the variable car.

  • You can also use the enumerate function in combination with a for loop to loop through a list and access both elements and their indices.

    for index, car in enumerate(cars):
       print(index, car)
    # Output:
    0 Audi
    1 FORD
    2 BMW
    

    In this example, the enumerate function returns a tuple containing the index and the value of each element in the cars list.

  • You use a combination of range and len functions in a for loop to achieve the same result, like this.

    for index in range(len(cars)):
       print(index, cars[index])
    # Output:
    0 Audi
    1 FORD
    2 BMW
    

    In this example, the range function generates a sequence of integers from 0 to len(cars) - 1, and the for loop iterates over the sequence and assigns each integer to the variable index which is then used to access the elements.

Reversing a List

A list can be reversed using the reverse method.

cars.reverse()
print(cars) # Output: ['BMW', 'FORD', 'Audi']

Lists are a crucial data structure in Python and are widely used in a variety of applications. They allow you to store and organize collections of data and can be manipulated in various ways to fit your needs.


Post a comment

Comments

Nothing yet..be the first to share wisdom.