Bird
Raised Fist0
Pythonprogramming~5 mins

List concatenation and repetition in Python

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
Introduction
List concatenation and repetition help you combine lists or repeat their items easily, just like joining or copying groups of things in real life.
When you want to join two lists of groceries into one big list.
When you need to repeat a list of tasks multiple times.
When creating a pattern by repeating a list of colors.
When merging guest lists from two events.
When you want to duplicate a list of default settings.
Syntax
Python
list1 + list2  # Concatenates two lists
list * n       # Repeats the list n times
The + operator joins two lists into a new list without changing the originals.
The * operator repeats the list items n times, creating a new list.
Examples
Concatenates two lists of fruits into one list.
Python
fruits = ['apple', 'banana']
more_fruits = ['orange', 'grape']
all_fruits = fruits + more_fruits
print(all_fruits)
Repeats the list of numbers three times.
Python
numbers = [1, 2, 3]
repeated_numbers = numbers * 3
print(repeated_numbers)
Concatenating an empty list with another list returns the other list.
Python
empty_list = []
result = empty_list + [1, 2]
print(result)
Repeating a list with one item multiple times.
Python
single_item = [5]
repeated_single = single_item * 4
print(repeated_single)
Sample Program
This program shows how to join two lists of fruits and how to repeat a list of numbers multiple times.
Python
fruits = ['apple', 'banana']
more_fruits = ['orange', 'grape']
print('Before concatenation:', fruits)
print('Second list:', more_fruits)
all_fruits = fruits + more_fruits
print('After concatenation:', all_fruits)

numbers = [1, 2, 3]
print('Original numbers:', numbers)
repeated_numbers = numbers * 3
print('After repetition:', repeated_numbers)
OutputSuccess
Important Notes
Concatenation (+) creates a new list and does not change the original lists.
Repetition (*) also creates a new list; the original list stays the same.
Both operations have time complexity proportional to the size of the resulting list.
Avoid using repetition with very large numbers to prevent memory issues.
Use concatenation when you want to combine lists; use repetition when you want to duplicate list items.
Summary
Use + to join two lists into one bigger list.
Use * to repeat the items in a list multiple times.
Both create new lists and do not change the original lists.

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