0
0
Pythonprogramming~5 mins

Tuple vs list comparison in Python

Choose your learning style9 modes available
Introduction

Tuples and lists both store groups of items, but they work differently. Knowing how they compare helps you choose the right one for your task.

When you want to store a fixed set of values that should not change, like days of the week.
When you need a collection that can be changed, like a list of tasks you add to or remove from.
When you want to use a collection as a key in a dictionary (tuples can be keys, lists cannot).
Syntax
Python
class TupleVsListComparison:
    def __init__(self):
        self.example_tuple = (1, 2, 3)
        self.example_list = [1, 2, 3]

    def compare(self):
        # Compare tuple and list
        return self.example_tuple == tuple(self.example_list)

Tuples use parentheses ( ) and lists use square brackets [ ].

Tuples are immutable (cannot be changed), lists are mutable (can be changed).

Examples
Comparing a tuple and a list with the same items after converting list to tuple returns True.
Python
example_tuple = (1, 2, 3)
example_list = [1, 2, 3]
print(example_tuple == tuple(example_list))  # True
Empty tuple and empty list converted to tuple are equal.
Python
empty_tuple = ()
empty_list = []
print(empty_tuple == tuple(empty_list))  # True
Single element tuple and list converted to tuple are equal.
Python
single_tuple = (5,)
single_list = [5]
print(single_tuple == tuple(single_list))  # True
Order matters: tuple and list with same items but different order are not equal.
Python
diff_tuple = (1, 2)
diff_list = [2, 1]
print(diff_tuple == tuple(diff_list))  # False
Sample Program

This program creates a tuple and a list with the same numbers. It prints both and then checks if they are equal by converting the list to a tuple.

Python
class TupleVsListComparison:
    def __init__(self):
        self.example_tuple = (10, 20, 30)
        self.example_list = [10, 20, 30]

    def compare(self):
        print(f"Tuple: {self.example_tuple}")
        print(f"List: {self.example_list}")
        are_equal = self.example_tuple == tuple(self.example_list)
        print(f"Are they equal when list is converted to tuple? {are_equal}")

comparison = TupleVsListComparison()
comparison.compare()
OutputSuccess
Important Notes

Time complexity for comparing tuples and lists is O(n), where n is the number of elements.

Tuples use less memory than lists because they are immutable.

Common mistake: expecting tuples and lists to be equal without converting the list to a tuple first.

Use tuples when you want fixed data and lists when you want to change data.

Summary

Tuples are fixed and use parentheses; lists are changeable and use square brackets.

You can compare a tuple and a list by converting the list to a tuple first.

Order and content must be the same for them to be equal.