Skip to main content

O(n²) lookup loop

A function that fetches users by id. Works on a small test list. What does a senior flag FIRST?

The snippet

# Find each user by id from a big list. Works but slow.

DB = [{"id": i, "name": f"user_{i}"} for i in range(10_000)]

def fetch_users(ids):
    users = []
    for id in ids:
        for user in DB:
            if user["id"] == id:
                users.append(user)
                break
    return users

What would a senior flag FIRST?