Bird
Raised Fist0
Pythonprogramming~5 mins

Return values 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: Return values
O(1)
Understanding Time Complexity

When we look at return values in a function, we want to see how long it takes to get that result.

We ask: How does the time to return a value change as the input grows?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

def get_first_element(items):
    if items:
        return items[0]
    return None

This function returns the first item from a list if it exists, otherwise None.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Accessing the first element of the list.
  • How many times: Exactly once, no loops or repeated steps.
How Execution Grows With Input

Getting the first element takes the same effort no matter how big the list is.

Input Size (n)Approx. Operations
101
1001
10001

Pattern observation: The time stays the same even if the list grows larger.

Final Time Complexity

Time Complexity: O(1)

This means the time to get the first item does not change with the size of the list.

Common Mistake

[X] Wrong: "Accessing an element always takes longer if the list is bigger."

[OK] Correct: Accessing by index in a list is direct and fast, no matter the list size.

Interview Connect

Understanding how simple return statements work helps you explain code efficiency clearly and confidently.

Self-Check

"What if we changed the function to return the last element instead of the first? How would the time complexity change?"

Practice

(1/5)
1. What does the return statement do in a Python function?
easy
A. It sends a value back to where the function was called.
B. It prints a value to the screen.
C. It creates a new variable inside the function.
D. It pauses the function without sending any value.

Solution

  1. Step 1: Understand the purpose of return

    The return statement ends the function and sends a value back to the caller.
  2. Step 2: Differentiate from printing or pausing

    Printing shows output but does not send a value back; pausing does not return a value.
  3. Final Answer:

    It sends a value back to where the function was called. -> Option A
  4. Quick Check:

    Return sends value back [OK]
Hint: Return sends value back, print shows output only [OK]
Common Mistakes:
  • Confusing return with print
  • Thinking return pauses without value
  • Assuming return creates variables
2. Which of the following is the correct syntax to return the value 10 from a function?
easy
A. return(10,)
B. return 10
C. return = 10
D. return: 10

Solution

  1. Step 1: Recall correct return syntax

    The correct syntax is simply return followed by the value without assignment or colon.
  2. Step 2: Check each option

    return 10 is correct; return(10,) returns a tuple (10,) due to the trailing comma; the others cause syntax errors.
  3. Final Answer:

    return 10 -> Option B
  4. Quick Check:

    Return value with 'return value' syntax [OK]
Hint: Use 'return value' without assignment or colon [OK]
Common Mistakes:
  • Using assignment with return
  • Adding colon after return
  • Using parentheses incorrectly
3. What is the output of this code?
def add(a, b):
    return a + b

result = add(3, 4)
print(result)
medium
A. None
B. 34
C. 7
D. Error

Solution

  1. Step 1: Understand the function behavior

    The function add returns the sum of a and b.
  2. Step 2: Calculate the return value

    Calling add(3, 4) returns 7, which is stored in result and printed.
  3. Final Answer:

    7 -> Option C
  4. Quick Check:

    3 + 4 = 7 [OK]
Hint: Return value is sum, printed as 7 [OK]
Common Mistakes:
  • Concatenating numbers as strings
  • Forgetting to return value
  • Expecting print inside function
4. Find the error in this function and choose the correct fix:
def multiply(x, y):
    product = x * y
    print(product)
medium
A. Add return x, y instead of product.
B. Change print(product) to return print(product).
C. Remove product and just print x * y.
D. Add return product to send the result back.

Solution

  1. Step 1: Identify the problem

    The function prints the product but does not return it, so no value is sent back.
  2. Step 2: Fix by returning the product

    Adding return product sends the result back to the caller.
  3. Final Answer:

    Add return product to send the result back. -> Option D
  4. Quick Check:

    Return value to send result back [OK]
Hint: Return value to send it back, print only shows output [OK]
Common Mistakes:
  • Returning print() instead of value
  • Not returning any value
  • Returning wrong variables
5. You want a function that returns the first non-empty string from a list or None if all are empty. Which function correctly does this?
hard
A. def first_non_empty(strings): for s in strings: if s: return s return None
B. def first_non_empty(strings): for s in strings: if s == '': return s return None
C. def first_non_empty(strings): for s in strings: if not s: return s return None
D. def first_non_empty(strings): for s in strings: return s return None

Solution

  1. Step 1: Understand the goal

    The function should return the first string that is not empty (truthy) or None if none found.
  2. Step 2: Analyze each option

    The version with if not s: return s returns the first falsy (empty) string; if s == '' returns the first exactly empty string; if s: return s returns the first truthy (non-empty) string; the version without if returns the first string regardless. Only the truthy check is correct.
  3. Final Answer:

    def first_non_empty(strings): for s in strings: if s: return s return None -> Option A
  4. Quick Check:

    Return first truthy string or None [OK]
Hint: Return first truthy value, else None [OK]
Common Mistakes:
  • Returning empty strings instead of non-empty
  • Returning on first loop without condition
  • Confusing truthy and falsy values