Bird
Raised Fist0
Pythonprogramming~5 mins

Set creation 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: Set creation
O(n)
Understanding Time Complexity

When we create a set from a list, we want to know how the time it takes changes as the list gets bigger.

We ask: How does the work grow when the input size grows?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
unique_numbers = set(numbers)

This code takes a list of numbers and creates a set to keep only unique values.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Adding each item from the list into the set.
  • How many times: Once for each item in the list.
How Execution Grows With Input

As the list gets bigger, the time to create the set grows roughly in direct proportion.

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

Pattern observation: Doubling the input roughly doubles the work.

Final Time Complexity

Time Complexity: O(n)

This means the time to create a set grows linearly with the number of items.

Common Mistake

[X] Wrong: "Creating a set takes the same time no matter how many items there are."

[OK] Correct: Each item must be checked and added, so more items mean more work.

Interview Connect

Understanding how set creation scales helps you explain efficiency clearly and shows you know how data structures behave with growing data.

Self-Check

"What if we created a set from a list that already has only unique items? How would the time complexity change?"

Practice

(1/5)
1. Which of the following is the correct way to create a set with the elements 1, 2, and 3 in Python?
easy
A. (1, 2, 3)
B. [1, 2, 3]
C. {1, 2, 3}
D. set[1, 2, 3]

Solution

  1. Step 1: Understand set creation syntax

    Sets are created using curly braces with comma-separated values or the set() function.
  2. Step 2: Identify correct syntax for set with elements

    {1, 2, 3} correctly creates a set with elements 1, 2, and 3.
  3. Final Answer:

    {1, 2, 3} -> Option C
  4. Quick Check:

    Curly braces with values = set [OK]
Hint: Use curly braces with commas for sets, not brackets [OK]
Common Mistakes:
  • Using square brackets creates a list, not a set
  • Using parentheses creates a tuple, not a set
  • Using set[] is invalid syntax
2. What is the correct way to create an empty set in Python?
easy
A. set()
B. {}
C. []
D. empty_set()

Solution

  1. Step 1: Recognize empty set syntax

    Using {} creates an empty dictionary, not a set.
  2. Step 2: Use the set() function for empty sets

    set() correctly creates an empty set.
  3. Final Answer:

    set() -> Option A
  4. Quick Check:

    Empty set = set() function [OK]
Hint: Empty sets need set(), not curly braces [OK]
Common Mistakes:
  • Using {} creates an empty dictionary, not a set
  • Using [] creates an empty list
  • Using undefined functions like empty_set()
3. What will be the output of the following code?
my_set = {1, 2, 2, 3, 4, 4}
print(my_set)
medium
A. {1, 2, 2, 3, 4, 4}
B. [1, 2, 3, 4]
C. (1, 2, 3, 4)
D. {1, 2, 3, 4}

Solution

  1. Step 1: Understand set uniqueness property

    Sets automatically remove duplicate elements, so repeated values appear only once.
  2. Step 2: Apply uniqueness to given elements

    Duplicates 2 and 4 are removed, leaving {1, 2, 3, 4}.
  3. Final Answer:

    {1, 2, 3, 4} -> Option D
  4. Quick Check:

    Sets remove duplicates = {1, 2, 3, 4} [OK]
Hint: Sets keep unique items only, duplicates vanish [OK]
Common Mistakes:
  • Expecting duplicates to remain in the set
  • Confusing set output with list or tuple syntax
  • Thinking sets preserve order
4. Identify the error in the following code snippet:
my_set = set{1, 2, 3}
print(my_set)
medium
A. SyntaxError due to incorrect set creation syntax
B. Prints {1, 2, 3} correctly
C. TypeError because set() expects a list
D. NameError because set is not defined

Solution

  1. Step 1: Check set creation syntax

    The correct way to create a set using the function is set() with parentheses, not curly braces.
  2. Step 2: Identify syntax error

    set{1, 2, 3} is invalid syntax and causes a SyntaxError.
  3. Final Answer:

    SyntaxError due to incorrect set creation syntax -> Option A
  4. Quick Check:

    Use set() with parentheses, not braces [OK]
Hint: Use parentheses with set(), not curly braces [OK]
Common Mistakes:
  • Using curly braces after set instead of parentheses
  • Confusing set() with dictionary syntax
  • Assuming set is undefined
5. Given the list nums = [1, 2, 2, 3, 4, 4, 5], which code snippet correctly creates a set of unique elements from this list?
hard
A. unique_nums = {nums}
B. unique_nums = set(nums)
C. unique_nums = list(set(nums))
D. unique_nums = {1, 2, 3, 4, 5}

Solution

  1. Step 1: Understand how to convert list to set

    The set() function can take an iterable like a list and return a set of unique elements.
  2. Step 2: Analyze each option

    unique_nums = {nums} creates a set with the entire list as one element (invalid). unique_nums = set(nums) correctly converts the list to a set. unique_nums = list(set(nums)) converts to set then back to list, which is not a set. unique_nums = {1, 2, 3, 4, 5} manually writes the set but is not dynamic.
  3. Final Answer:

    unique_nums = set(nums) -> Option B
  4. Quick Check:

    Use set() on list to get unique elements [OK]
Hint: Use set() on list to get unique items fast [OK]
Common Mistakes:
  • Trying to put list inside curly braces directly
  • Converting set back to list when set is needed
  • Hardcoding values instead of using the list variable