Bird
Raised Fist0
Pythonprogramming~5 mins

Length and iteration methods in Python - Time & Space Complexity

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Time Complexity: Length and iteration methods
O(n)
Understanding Time Complexity

When we use length and iteration methods in Python, we want to know how the time to run the code changes as the input grows.

We ask: How many steps does the program take when the input gets bigger?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

def sum_elements(lst):
    total = 0
    n = len(lst)
    for i in range(n):
        total += lst[i]
    return total

This code calculates the sum of all numbers in a list by first getting its length, then adding each element one by one.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Looping through each element of the list once.
  • How many times: Exactly as many times as there are elements in the list (n times).
How Execution Grows With Input

As the list gets bigger, the number of steps grows in a straight line with the number of items.

Input Size (n)Approx. Operations
10About 10 additions
100About 100 additions
1000About 1000 additions

Pattern observation: Doubling the list size roughly doubles the work done.

Final Time Complexity

Time Complexity: O(n)

This means the time to finish grows directly in proportion to the number of items in the list.

Common Mistake

[X] Wrong: "Calling len() inside the loop makes the code slower by a lot."

[OK] Correct: In Python, len() runs in constant time, so calling it once or many times does not change the overall time much compared to looping through the list.

Interview Connect

Understanding how length and iteration affect time helps you explain how your code scales, a key skill in many programming tasks.

Self-Check

"What if we replaced the for loop with a list comprehension that sums elements? How would the time complexity change?"

Practice

(1/5)
1. What does the len() function do when used on a list in Python?
easy
A. It returns the number of items in the list.
B. It returns the last item in the list.
C. It adds all the items in the list.
D. It removes the first item from the list.

Solution

  1. Step 1: Understand the purpose of len()

    The len() function counts how many items are inside a collection like a list.
  2. Step 2: Apply to a list

    When used on a list, it returns the total number of elements present in that list.
  3. Final Answer:

    It returns the number of items in the list. -> Option A
  4. Quick Check:

    len(list) = number of items [OK]
Hint: Remember: len() counts items, it doesn't change them. [OK]
Common Mistakes:
  • Thinking len() returns the last item
  • Confusing len() with sum()
  • Assuming len() removes items
2. Which of the following is the correct syntax to loop through all items in a list named fruits?
easy
A. for fruit in fruits:
B. for fruits in fruit:
C. loop fruit in fruits:
D. foreach fruit in fruits:

Solution

  1. Step 1: Identify correct for-loop syntax in Python

    Python uses for variable in collection: to loop through items.
  2. Step 2: Match variable and collection names

    The variable should be singular (fruit) and collection plural (fruits) for clarity and correctness.
  3. Final Answer:

    for fruit in fruits: -> Option A
  4. Quick Check:

    for item in list: is correct syntax [OK]
Hint: Use 'for item in collection:' to loop in Python. [OK]
Common Mistakes:
  • Swapping variable and collection names
  • Using 'foreach' which is not Python syntax
  • Writing 'loop' instead of 'for'
3. What will be the output of this code?
items = ['a', 'b', 'c']
count = 0
for item in items:
    count += 1
print(count)
medium
A. 0
B. 3
C. ['a', 'b', 'c']
D. Error

Solution

  1. Step 1: Understand the loop iteration

    The loop goes through each item in the list items, which has 3 elements.
  2. Step 2: Track the count variable

    Each time the loop runs, count increases by 1. After 3 iterations, count becomes 3.
  3. Final Answer:

    3 -> Option B
  4. Quick Check:

    Loop runs 3 times, count = 3 [OK]
Hint: Count increments once per item; total equals list length. [OK]
Common Mistakes:
  • Thinking count stays 0
  • Confusing count with list itself
  • Expecting a list output instead of a number
4. Find the error in this code snippet:
numbers = [1, 2, 3]
for i in numbers
    print(i)
medium
A. print() cannot be used inside a for loop.
B. Variable 'i' should be 'numbers'.
C. List 'numbers' should be a tuple.
D. Missing colon ':' after the for loop statement.

Solution

  1. Step 1: Check for syntax errors in the for loop

    Python requires a colon ':' at the end of the for loop line to start the block.
  2. Step 2: Identify the missing colon

    The code line for i in numbers is missing the colon, causing a syntax error.
  3. Final Answer:

    Missing colon ':' after the for loop statement. -> Option D
  4. Quick Check:

    for loop line must end with ':' [OK]
Hint: Always put ':' after for loop header line. [OK]
Common Mistakes:
  • Forgetting the colon ':'
  • Changing variable names unnecessarily
  • Thinking print() can't be inside loops
5. Given a list data = [3, 0, 5, '', None, 7], which code correctly counts only the items that are considered 'truthy' in Python?
hard
A. count = len(data)
B. count = sum(data)
C. count = sum(1 for x in data if x)
D. count = len([x for x in data if x == True])

Solution

  1. Step 1: Understand 'truthy' values in Python

    Truthy values are those that evaluate to True in conditions; 0, '', and None are falsy.
  2. Step 2: Analyze each option

    count = len(data) counts all items, ignoring truthiness. count = sum(1 for x in data if x) sums 1 for each truthy item, correctly counting them. count = sum(data) sums values, not counts. count = len([x for x in data if x == True]) checks for exact True, missing other truthy values.
  3. Final Answer:

    count = sum(1 for x in data if x) -> Option C
  4. Quick Check:

    Sum 1 for truthy items counts them correctly [OK]
Hint: Use sum with condition to count truthy items. [OK]
Common Mistakes:
  • Using len() counts all items, not just truthy
  • Summing values instead of counting
  • Checking equality to True instead of truthiness