Home » Python Lists : A Tutorial

Python Lists : A Tutorial

1 Year Subscription
Java SE 11 Programmer I [1Z0-815] Practice Tests
Java SE 11 Developer (Upgrade) [1Z0-817]
Java SE 11 Programmer II [1Z0-816] Practice Tests
Spring Framework Basics Video Course
Oracle Java Certification

In Python, lists are one of the most commonly used data structures.

A list is an ordered, mutable collection of items that can contain elements of different types (e.g., integers, strings, or even other lists).

This tutorial covers the basics of lists, how to create them, manipulate them, and perform various operations using built-in functions.

1. Creating a List

You can create a list by placing comma-separated values inside square brackets [].

Example: Creating a Simple List

# Example: Creating a list of integers
numbers = [1, 2, 3, 4, 5]

# Example: Creating a list with mixed data types
mixed_list = [1, "hello", 3.14, True]

print(numbers)      # Output: [1, 2, 3, 4, 5]
print(mixed_list)   # Output: [1, 'hello', 3.14, True]

In this example:

numbers is a list of integers.
mixed_list contains different data types including an integer, a string, a float, and a boolean.

2. Accessing Elements in a List

You can access elements in a list by using indexing. Python lists are zero-indexed, meaning the first element is at index 0.

Example: Accessing Elements by Index

# Example: Accessing list elements by index
numbers = [10, 20, 30, 40, 50]

# Access the first element
print(numbers[0])  # Output: 10

# Access the last element
print(numbers[-1])  # Output: 50

# Access the second to last element
print(numbers[-2])  # Output: 40

In this example:

numbers[0] accesses the first element (10).
numbers[-1] accesses the last element (50).

3. Slicing a List

You can extract a sublist from a list using slicing. The syntax for slicing is list[start:stop:step].

Example: Slicing a List

# Example: Slicing a list
numbers = [10, 20, 30, 40, 50]

# Extract the first three elements
print(numbers[0:3])  # Output: [10, 20, 30]

# Extract elements starting from index 1 to the end
print(numbers[1:])  # Output: [20, 30, 40, 50]

# Extract elements with a step
print(numbers[::2])  # Output: [10, 30, 50]

In this example:

numbers[0:3] extracts elements from index 0 to 2.
numbers[::2] extracts elements with a step of 2 (every second element).

4. Modifying Elements in a List

Lists are mutable, meaning you can change their elements after they are created.

Example: Modifying Elements in a List

# Example: Modifying a list element
numbers = [10, 20, 30, 40, 50]

# Change the second element
numbers[1] = 25
print(numbers)  # Output: [10, 25, 30, 40, 50]

In this example:

The second element (index 1) is modified from 20 to 25.

5. Adding Elements to a List

You can add elements to a list using methods like append(), insert(), and extend().

Example: Adding Elements to a List

# Example: Adding elements to a list
numbers = [1, 2, 3]

# Append a single element to the end of the list
numbers.append(4)
print(numbers)  # Output: [1, 2, 3, 4]

# Insert an element at a specific position
numbers.insert(1, 1.5)  # Insert 1.5 at index 1
print(numbers)  # Output: [1, 1.5, 2, 3, 4]

# Extend the list with another list
numbers.extend([5, 6, 7])
print(numbers)  # Output: [1, 1.5, 2, 3, 4, 5, 6, 7]

In this example:

append() adds a single element to the end of the list.
insert() adds an element at a specified index.
extend() adds multiple elements to the end of the list.

6. Removing Elements from a List

You can remove elements from a list using remove(), pop(), and del.

Example: Removing Elements from a List

# Example: Removing elements from a list
numbers = [1, 2, 3, 4, 5]

# Remove a specific element by value
numbers.remove(3)
print(numbers)  # Output: [1, 2, 4, 5]

# Remove an element by index using pop
numbers.pop(1)  # Removes the element at index 1
print(numbers)  # Output: [1, 4, 5]

# Remove the last element using pop
numbers.pop()
print(numbers)  # Output: [1, 4]

In this example:

remove() removes the first occurrence of the specified value.
pop() removes and returns the element at the specified index (or the last element if no index is specified).
The del statement can also be used to delete an element by index.

7. Iterating Over a List

You can iterate over the elements of a list using a for loop.

Example: Iterating Over a List

# Example: Iterating over a list
numbers = [1, 2, 3, 4, 5]

for num in numbers:
    print(num)

# Output:
# 1
# 2
# 3
# 4
# 5

In this example:

The for loop iterates over each element in the list and prints it.

8. Checking if an Element Exists in a List

You can check if a specific element exists in a list using the in keyword.

Example: Checking if an Element Exists

# Example: Checking if an element exists in a list
numbers = [1, 2, 3, 4, 5]

print(3 in numbers)  # Output: True
print(6 in numbers)  # Output: False

In this example:

The in keyword is used to check if 3 exists in the list (True) and if 6 exists in the list (False).

9. Sorting a List

You can sort a list using the sort() method for in-place sorting or the sorted() function for creating a new sorted list.

Example: Sorting a List

# Example: Sorting a list
numbers = [5, 3, 1, 4, 2]

# In-place sorting
numbers.sort()
print(numbers)  # Output: [1, 2, 3, 4, 5]

# Sorting in reverse order
numbers.sort(reverse=True)
print(numbers)  # Output: [5, 4, 3, 2, 1]

# Using sorted() to create a new sorted list
new_sorted_list = sorted(numbers)
print(new_sorted_list)  # Output: [1, 2, 3, 4, 5]

In this example:

sort() sorts the list in place, modifying the original list.
sorted() returns a new sorted list without modifying the original list.

10. Finding the Length, Maximum, Minimum, and Sum of a List

Python provides built-in functions to find the length, maximum, minimum, and sum of a list.

Example: Using Built-in Functions with Lists

# Example: Finding length, max, min, and sum
numbers = [1, 2, 3, 4, 5]

print(len(numbers))  # Output: 5
print(max(numbers))  # Output: 5
print(min(numbers))  # Output: 1
print(sum(numbers))  # Output: 15

In this example:

len() returns the number of elements in the list.
max() returns the largest element.
min() returns the smallest element.
sum() returns the sum of all elements in the list.

11. List Comprehension

List comprehension provides a concise way to create lists based on existing lists or other iterables.

Example: List Comprehension

# Example: List comprehension
squares = [x**2 for x in range(1, 6)]
print(squares)  # Output: [1, 4, 9, 16, 25]

# List comprehension with a condition
even_squares = [x**2 for x in range(1, 6) if x % 2 == 0]
print(even_squares)  # Output: [4, 16]

In this example:

The first list comprehension creates a list of squares from 1 to 5.
The second list comprehension creates a list of squares of even numbers.

12. Nested Lists

Lists can contain other lists as elements, creating nested lists.

Example: Working with Nested Lists

# Example: Nested lists
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

# Accessing elements in a nested list
print(matrix[0][1])  # Output: 2 (Second element in the first sublist)
print(matrix[2][0])  # Output: 7 (First element in the third sublist)

# Iterating over a nested list
for row in matrix:
    for item in row:
        print(item, end=" ")
    print()

In this example:

matrix[0][1] accesses the second element in the first sublist.
A nested for loop is used to iterate over the matrix and print each element.

13. Copying a List

You can create a copy of a list using slicing or the copy() method.

Example: Copying a List

# Example: Copying a list
numbers = [1, 2, 3, 4, 5]

# Copying using slicing
numbers_copy = numbers[:]
print(numbers_copy)  # Output: [1, 2, 3, 4, 5]

# Copying using copy() method
numbers_copy = numbers.copy()
print(numbers_copy)  # Output: [1, 2, 3, 4, 5]

In this example:

You can copy a list using slicing [:] or the copy() method, both of which create a shallow copy of the list.

Summary

Python lists are ordered, mutable collections that can contain elements of different data types.
Lists support various operations such as indexing, slicing, modifying, adding, and removing elements.
You can iterate over lists using loops and perform common operations like sorting, finding the length, and summing elements.
List comprehensions provide a concise way to create new lists, while nested lists allow you to store lists within lists.

By mastering Python lists, you can handle collections of data efficiently and perform a wide range of operations to manipulate and process data in your programs.

You may also like

Leave a Comment

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More