len() function in Python - Time & Space Complexity
Start learning this pattern below
Jump into concepts and practice - no test required
Let's explore how the time it takes to find the length of a collection changes as the collection grows.
We want to know how the len() function's work changes with bigger inputs.
Analyze the time complexity of the following code snippet.
my_list = [1, 2, 3, 4, 5]
length = len(my_list)
print(length)
This code finds and prints the number of items in a list.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Accessing the stored length value of the list.
- How many times: Exactly once, no loops or repeated steps.
Finding the length does not need to count items one by one each time.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 1 |
| 100 | 1 |
| 1000 | 1 |
Pattern observation: The work stays the same no matter how big the list is.
Time Complexity: O(1)
This means finding the length takes the same quick step no matter the size of the list.
[X] Wrong: "len() counts every item each time, so it gets slower with bigger lists."
[OK] Correct: Python stores the length, so len() just reads that stored number instantly.
Knowing that len() is very fast helps you write clear and efficient code without worrying about hidden slow parts.
"What if we used a custom linked list without a stored length? How would len() behave then?"
Practice
len() function do in Python?Solution
Step 1: Understand the purpose of
Thelen()len()function counts how many items are inside an object like a string, list, or dictionary.Step 2: Compare options with the function's purpose
Only It returns the number of items in an object like a string or list. correctly describes this behavior. Other options describe different actions.Final Answer:
It returns the number of items in an object like a string or list. -> Option AQuick Check:
len()counts items [OK]
- Thinking len() adds numbers
- Confusing len() with print()
- Believing len() creates new lists
len() to find the length of a list named fruits?Solution
Step 1: Recall correct syntax for calling functions
Functions in Python use parentheses with the object inside, likelen(fruits).Step 2: Check each option's syntax
length = len(fruits) uses correct syntax. Options B, C, and D misuse brackets, dot notation, or parentheses.Final Answer:
length = len(fruits) -> Option CQuick Check:
Use parentheses with len() [OK]
- Using square brackets instead of parentheses
- Trying to call len() as a method on the object
- Using dot notation incorrectly
my_list = [10, 20, 30, 40] print(len(my_list))
Solution
Step 1: Identify the list elements
The listmy_listcontains 4 items: 10, 20, 30, and 40.Step 2: Apply
Thelen()to the listlen()function returns the number of items, which is 4.Final Answer:
4 -> Option DQuick Check:
len([10,20,30,40]) = 4 [OK]
- Confusing last item value with length
- Off-by-one counting errors
- Expecting len() to return sum
my_string = "hello" print(len my_string)
Solution
Step 1: Check the syntax of the len() function call
Functions require parentheses around their arguments. Here,lenis called without parentheses.Step 2: Identify the error cause
Missing parentheses cause a syntax error. Other options are incorrect because double quotes are allowed, variable name is valid, and len() works on strings.Final Answer:
Missing parentheses after len -> Option AQuick Check:
Always use parentheses with len() [OK]
- Forgetting parentheses after function name
- Thinking quotes affect len() usage
- Assuming len() can't handle strings
data = {'a': 1, 'b': 2, 'c': 3}. You want to check if it has exactly 3 keys before processing. Which code correctly uses len() for this check?Solution
Step 1: Understand what len() returns for a dictionary
Usinglen()on a dictionary returns the number of keys.Step 2: Check the condition for exactly 3 keys
if len(data) == 3: print("Correct number of keys") checks iflen(data)equals 3, which is correct. Other options check for greater than, less than, or not equal, which do not match the requirement.Final Answer:
if len(data) == 3: print("Correct number of keys") -> Option BQuick Check:
len(dict) counts keys [OK]
- Using > or < instead of == for exact count
- Checking values or items unnecessarily
- Misunderstanding what len(dict) returns
