The Bubble Sort Algorithm in Python

The bubble sort does exactly what you’d expect it to do. It sorts an input list by treating each element as a bubble that climbs up the list. Each bubble rises as long as it is greater than the list elements. If a list element is smaller or equal to a list element, the bubble stops to rise and the list element starts to bubble up.

Bubble Sort Python Algorithm

def bubblesort(lst):
    for passesLeft in range(len(lst)-1, 0, -1):
        for i in range(passesLeft):
            if lst[i] > lst[i + 1]:
                lst[i], lst[i + 1] = lst[i + 1], lst[i]
    return lst

l = [5, 3, 4, 1, 2, 0]
print(bubblesort(l))
# [0, 1, 2, 3, 4, 5]

Bubble Sort Algorithm Explanation

The precise algorithm works as follows. The outer index variable border marks the index after which the right-hand list elements are already sorted.

The inner index variable i goes from left to right until it reaches the index variable border. On its way to the right, it switches two subsequent list elements if the first element is larger than the second element.

Hence, after the first pass, the largest element in the list is on the right. As this right-most element is already sorted, we can reduce the size of the list to be sorted by one, i.e., decrement the variable border.

Next, the second largest element will rise to the top and the procedure repeats.

Study this basic algorithmic pattern carefully. Every computer scientists and every great coder must know it.

Bubble Sort Puzzle

Can you solve the following puzzle on our interactive Finxter puzzle app? (Click to solve)


Are you a master coder?
Test your skills now!

Bubble Sort Video

Where to Go From Here?

Enough theory, let’s get some practice!

To become successful in coding, you need to get out there and solve real problems for real people. That’s how you can become a six-figure earner easily. And that’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?

Practice projects is how you sharpen your saw in coding!

Do you want to become a code master by focusing on practical code projects that actually earn you money and solve problems for people?

Then become a Python freelance developer! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.

Join my free webinar “How to Build Your High-Income Skill Python” and watch how I grew my coding business online and how you can, too—from the comfort of your own home.

Join the free webinar now!

Leave a Comment

Your email address will not be published. Required fields are marked *