Bird
Raised Fist0
Pythonprogramming~3 mins

Why List concatenation and repetition in Python? - Purpose & Use Cases

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
The Big Idea

What if you could combine or repeat lists with just one simple symbol instead of copying everything by hand?

The Scenario

Imagine you have two shopping lists written on paper. You want to combine them into one big list or repeat the same list several times for multiple shopping trips. Doing this by rewriting each item manually is tiring and takes a lot of time.

The Problem

Manually copying and joining lists means you can easily make mistakes like missing items or writing duplicates unintentionally. It also wastes your time and energy, especially if the lists are long or you need to repeat them many times.

The Solution

List concatenation and repetition let you quickly join two lists or repeat a list multiple times with simple, clear commands. This saves time, reduces errors, and makes your code neat and easy to read.

Before vs After
โœ— Before
combined_list = list1 + list2
repeated_list = []
for _ in range(3):
    repeated_list += list1
โœ“ After
combined_list = list1 + list2
repeated_list = list1 * 3
What It Enables

You can easily build bigger lists or repeat patterns without extra effort, making your programs faster and cleaner.

Real Life Example

Suppose you have a list of daily tasks and want to plan your week by repeating the same tasks for 7 days. Using list repetition, you can create the full weekly plan instantly.

Key Takeaways

Manually joining or repeating lists is slow and error-prone.

List concatenation (+) and repetition (*) make these tasks simple and fast.

This helps you write cleaner code and avoid mistakes.

Practice

(1/5)
1. What does the expression [1, 2] + [3, 4] do in Python?
easy
A. Creates a new list combining both lists: [1, 2, 3, 4]
B. Repeats the first list twice: [1, 2, 1, 2]
C. Creates a list of two lists: [[1, 2], [3, 4]]
D. Raises a TypeError because lists cannot be added

Solution

  1. Step 1: Understand the + operator with lists

    The + operator joins two lists into one new list containing all elements from both.
  2. Step 2: Apply + to [1, 2] and [3, 4]

    Joining these lists results in [1, 2, 3, 4].
  3. Final Answer:

    Creates a new list combining both lists: [1, 2, 3, 4] -> Option A
  4. Quick Check:

    List concatenation = combined list [OK]
Hint: Use + to join lists, not to repeat [OK]
Common Mistakes:
  • Thinking + repeats lists instead of joining
  • Confusing list concatenation with nesting
  • Expecting an error when adding lists
2. Which of the following is the correct syntax to repeat the list [5, 6] three times?
easy
A. [5, 6] ** 3
B. [5, 6] + 3
C. 3 + [5, 6]
D. [5, 6] * 3

Solution

  1. Step 1: Identify the operator for repetition

    The * operator repeats a list multiple times when used with an integer.
  2. Step 2: Check syntax correctness

    [5, 6] * 3 repeats the list three times: [5, 6, 5, 6, 5, 6].
  3. Final Answer:

    [5, 6] * 3 -> Option D
  4. Quick Check:

    List repetition uses * operator [OK]
Hint: Use * with list and number to repeat [OK]
Common Mistakes:
  • Using + instead of * for repetition
  • Trying to use ** which is invalid for lists
  • Confusing order of operands for repetition
3. What is the output of this code?
lst1 = [1]
lst2 = [2, 3]
result = lst1 * 2 + lst2 * 3
print(result)
medium
A. [1, 1, 2, 3, 2, 3, 2, 3]
B. [1, 2, 3, 1, 2, 3]
C. [1, 1, 2, 3, 3, 3]
D. [1, 1, 2, 3, 2, 3]

Solution

  1. Step 1: Calculate lst1 * 2

    Repeating [1] twice gives [1, 1].
  2. Step 2: Calculate lst2 * 3

    Repeating [2, 3] three times gives [2, 3, 2, 3, 2, 3].
  3. Step 3: Concatenate the two results

    Adding [1, 1] + [2, 3, 2, 3, 2, 3] results in [1, 1, 2, 3, 2, 3, 2, 3].
  4. Final Answer:

    [1, 1, 2, 3, 2, 3, 2, 3] -> Option A
  5. Quick Check:

    Repeat then join lists = combined repeated list [OK]
Hint: Repeat lists first, then add them [OK]
Common Mistakes:
  • Adding before repeating
  • Miscounting repeated elements
  • Confusing order of concatenation
4. Find the error in this code snippet:
list_a = [1, 2]
list_b = [3, 4]
result = list_a * list_b
print(result)
medium
A. No error, prints [1, 2, 3, 4]
B. SyntaxError due to missing parentheses
C. TypeError because * expects an integer, not a list
D. ValueError because lists cannot be multiplied

Solution

  1. Step 1: Understand list repetition rules

    List repetition uses * with an integer, not another list.
  2. Step 2: Identify the error in list_a * list_b

    Multiplying two lists causes a TypeError because the right operand must be int.
  3. Final Answer:

    TypeError because * expects an integer, not a list -> Option C
  4. Quick Check:

    List * list is invalid, needs int [OK]
Hint: Right side of * must be integer for list repetition [OK]
Common Mistakes:
  • Trying to multiply two lists directly
  • Expecting concatenation with * operator
  • Confusing syntax error with type error
5. You have two lists:
fruits = ['apple', 'banana']
veggies = ['carrot']
How do you create a new list that repeats the fruits twice and veggies three times, then combines them all in order?
hard
A. fruits * veggies * 5
B. fruits * 2 + veggies * 3
C. fruits + veggies * 5
D. (fruits + veggies) * 5

Solution

  1. Step 1: Repeat fruits and veggies separately

    fruits * 2 repeats fruits twice; veggies * 3 repeats veggies three times.
  2. Step 2: Concatenate the repeated lists

    Adding these repeated lists combines them in order as desired.
  3. Final Answer:

    fruits * 2 + veggies * 3 -> Option B
  4. Quick Check:

    Repeat separately then add lists [OK]
Hint: Repeat lists separately, then add [OK]
Common Mistakes:
  • Repeating combined list instead of separate lists
  • Using invalid multiplication of lists
  • Confusing order of operations