Working with Lists in Python
≀Paulo Portela
Posted on February 18, 2024
In this post, we'll explore the basics of lists in Python. Lists are a fundamental data structure in Python, used to store collections of items in a single variable. Let's get started.
First, let's create an empty list. This can be done by assigning an empty pair of square brackets to a variable:
planets = []
Now that we have an empty list, let's add some elements to it. We can do this using the append()
method, which adds an element to the end of the list:
planets.append("Mercury")
planets.append("Venus")
planets.append("Earth")
print(planets)
# Output: ['Mercury', 'Venus', 'Earth']
Our list now contains three elements: "Mercury", "Venus", and "Earth". We can access these elements using their index, which is a zero-based integer representing their position in the list. For example, to get the first element, we can use the following code:
first_planet = planets[0]
print(first_planet)
# Output: Mercury
We can also access a range of elements using slicing. For example, to get the second and third elements, we can use the following code:
second_and_third_planets = planets[1:3]
print(second_and_third_planets)
# Output: ['Venus', 'Earth']
We can also access the elements in reverse order using negative indexing. For example, to get the last element, we can use the following code:
last_planet = planets[-1]
print(last_planet)
# Output: Earth
We can also reverse the entire list using slicing with a step of -1
:
reversed_planets = planets[::-1]
print(reversed_planets)
# Output: ['Earth', 'Venus', 'Mercury']
We can also access elements at even indexes using slicing. For example, to get the first and third elements, we can use the following code:
first_and_third_planets = planets[::2]
print(first_and_third_planets)
# Output: ['Mercury', 'Earth']
To get the number of elements in the list, we can use the len()
function:
num_planets = len(planets)
print(num_planets)
# Output: 3
We can also insert an element at a specific index using the insert()
method. For example, to insert "Mars" as the fourth element, we can use the following code:
planets.insert(3, "Mars")
print(planets)
# Output: ['Mercury', 'Venus', 'Earth', 'Mars']
We can also copy a list using the copy()
method:
planets_copy = planets.copy()
print(planets_copy)
# Output: ['Mercury', 'Venus', 'Earth', 'Mars']
We can extend a list by adding elements from another list using the extend()
method:
more_planets = ["Jupiter", "Saturn", "Uranus", "Neptune"]
planets.extend(more_planets)
print(planets_copy)
# Output: ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
We can remove an element by its value using the remove()
method. For example, to remove "Earth" from the list, we can use the following code:
planets.remove("Earth")
print(planets)
# Output: ['Mercury', 'Venus', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
We can also remove an element by its index using the pop()
method. For example, to remove the second element, we can use the following code:
planets.pop(1)
print(planets)
# Output: ['Mercury', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
We can remove the first element using the pop()
method with an index of 0:
planets.pop(0)
print(planets)
# Output: ['Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
We can remove the last element using the pop()
method with no arguments:
planets.pop()
print(planets)
# Output: ['Mars', 'Jupiter', 'Saturn', 'Uranus']
We can check if an element is in the list using the in
keyword. For example, to check if "Earth" is in the list, we can use the following code:
earth_in_list = "Earth" in planets
print(earth_in_list)
# Output: False
We can sort a list in ascending or descending order using the sort()
method. For example, to sort a list of planets in alphabetical order, we can use the following code:
planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
planets.sort()
print(planets)
# Output: ['Earth', 'Jupiter', 'Mars', 'Mercury', 'Neptune', 'Saturn', 'Uranus', 'Venus']
To sort the list in descending order, we can pass the reverse=True argument to the sort()
method:
planets.sort(reverse=True)
print(planets)
# Output: ['Venus', 'Uranus', 'Saturn', 'Neptune', 'Mercury', 'Mars', 'Jupiter', 'Earth']
We can also sort a list of numbers in ascending or descending order using the same method. For example, to sort a list of numbers in ascending order, we can use the following code:
numbers = [3, 1, 4, 2, 5]
numbers.sort()
print(numbers)
# Output: [1, 2, 3, 4, 5]
To sort the list in descending order, we can pass the reverse=True argument to the sort() method:
numbers.sort(reverse=True)
print(numbers)
# Output: [5, 4, 3, 2, 1]
We can also use the sorted()
function to sort a list, which returns a new sorted list and leaves the original list unchanged. For example, to sort a list of planets in alphabetical order and create a new sorted list, we can use the following code:
planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
sorted_planets = sorted(planets)
print(sorted_planets)
# Output: ['Earth', 'Jupiter', 'Mars', 'Mercury', 'Neptune', 'Saturn', 'Uranus', 'Venus']
To sort the list in descending order, we can pass the reverse=True
argument to the sorted()
function:
sorted_planets = sorted(planets, reverse=True)
print(sorted_planets)
# Output: ['Venus', 'Uranus', 'Saturn', 'Neptune', 'Mercury', 'Mars', 'Jupiter', 'Earth']
We can also use the key
argument to specify a custom function to determine the sort order. For example, to sort a list of strings by their length, we can use the following code:
planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
planets.sort(key=len)
print(planets)
# Output: ['Mars', 'Venus', 'Earth', 'Saturn', 'Uranus', 'Mercury', 'Jupiter', 'Neptune']
In this example, we pass the len
function as the key
argument, which tells the sort()
method to sort the list based on the length of each element.
We can delete all the elements in the list using the clear()
method:
planets.clear()
print(planets)
# Output: []
We can delete the list variable itself using the del
keyword:
del planets
print(planets)
# Output: NameError: name 'planets' is not defined
We can create a nested list by including lists as elements within another list. For example, to create a list of lists representing the planets and their moons, we can use the following code:
planets_and_moons = [['Mercury'], ['Venus'], ['Earth', 'Moon'], ['Mars', 'Phobos', 'Deimos']]
print(planets_and_moons)
# Output: [['Mercury'], ['Venus'], ['Earth', 'Moon'], ['Mars', 'Phobos', 'Deimos']]
We can sum the elements of a list of numbers using the sum() function:
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total)
# Output: 15
We can also convert a list to a set using the set()
function. This will remove any duplicate elements from the list and return a set containing the unique elements:
planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto"]
unique_planets = set(planets)
print(unique_planets)
# Output: {'Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune', 'Pluto'}
We can also get the maximum and minimum values of a list of numbers using the max() and min() functions, respectively:
numbers = [1, 2, 3, 4, 5]
max_value = max(numbers)
min_value = min(numbers)
print(max_value) # Output: 5
print(min_value) # Output: 1
That concludes our beginner's guide to lists in Python. We've covered various operations, from creating and accessing elements to modifying and deleting lists. We hope this guide has helped get you started with lists in Python. Happy coding!
Posted on February 18, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 12, 2024