π‘ Problem Formulation: How to repeat an element n
times in a list (e.g., [1, 2, 3]
and n=3
yields [1, 1, 1, 2, 2, 2, 3, 3, 3]
) and how to repeat a list n times (e.g.,. [1, 2, 3]
and n=2
yields [1, 2, 3, 1, 2, 3]
as well as [[1, 2, 3], [1, 2, 3]]
)?
Quick Overview Solutions

Repeating an element n times in a list
You can solve this problem by using list comprehension in Python. Here’s the general idea:
- Iterate over each element in the list.
- For each element, create a sub-list where the element is repeated
n
times. - Flatten the list of sub-lists to create the final list.
Here’s what the code would look like:
def repeat_elements(input_list, n): return [item for item in input_list for _ in range(n)]
Repeating a list n times flat list
If you want to repeat the list n
times in a flat manner (i.e., [1, 2, 3]
and n=2
yields [1, 2, 3, 1, 2, 3]
), you can use the *
operator. Here’s how to do it:
def repeat_list_flat(input_list, n): return input_list * n
Repeating a list n times nested list
If you want to repeat the list n
times, but keep each repetition as a separate sub-list (i.e., [1, 2, 3]
and n=2
yields [[1, 2, 3], [1, 2, 3]]
), you can use list comprehension. Here’s how:
def repeat_list_nested(input_list, n): return [input_list for _ in range(n)]
Let’s dive deeper into the problem — if you’ve already solved it using these examples, check out our free email academy to keep learning and staying ahead of the curve in coding and tech: π
Python Repeat List N Times
In this section, we will explore different ways to repeat a list N times in Python. We’ll cover two main methods: using a for
loop and using the multiplication *
operator.
For Loop
A simple and straightforward approach to repeat a list N times is using a for
loop. Here, we’ll create a new list by appending the elements of the original list N times through iteration using the built-in list extend()
method.
x = [1, 2, 3, 4] n = 3 new_list = [] for item in x: new_list.extend([item] * n) print(new_list) # Output: [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4]
In this example, we created a new list called new_list
and iterated over each element in the original list x
. Inside the loop, we used the extend()
method to add [item] * n
to new_list
. This operation creates a new list with the current item repeated N times and appends it to new_list
.
* Operator
Another way to repeat a list N times is using the *
operator with nested list comprehensions. This approach is more concise and can achieve the same result with a single line of code.
(As you know, I love Python One-Liners.)
x = [1, 2, 3, 4] n = 3 new_list = [item for item in x for _ in range(n)] print(new_list) # Output: [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4]
This example uses a nested list comprehension to iterate over each element in x
and each number in the range from 0 to N-1, effectively repeating each element N times. The resulting new_list
contains the repeated elements in the desired order.
In conclusion, you can use either the for loop or the * operator method to repeat elements of a list N times in Python. Both methods have their own advantages in terms of simplicity and conciseness, so you can choose the one that best fits your particular use case and coding style.
Methods and Techniques

In this section, we will discuss different methods and techniques to repeat a list n
times in Python. We will explore the extend()
method, the itertools.repeat()
method, and list comprehension.
List extend() Method
The extend()
method is an in-place method for extending a list with another iterable, such as a list, tuple, or string. When you want to repeat elements in a list n
times, you can use the extend()
method within a for
loop to achieve this.
Here’s an example:
original_list = [1, 2, 3, 4] n = 3 repeated_list = [] for _ in range(n): repeated_list.extend(original_list) print(repeated_list) # [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
In this example, the extend()
method appends the elements of the original_list
to the repeated_list
on each iteration of the loop. The resulting list is a combination of the original list repeated n
times.
Itertools.repeat() Method
The itertools
module provides a repeat()
method, which is an iterator that repeats a given object n
times. To use itertools.repeat()
, you need to import the itertools
module and then loop through the repeated items using a for loop.
Here’s an example:
import itertools original_list = [1, 2, 3, 4] n = 3 repeated_list = [] for item in original_list: repeated_list.extend(itertools.repeat(item, n)) print(repeated_list) # [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4]
This method is useful for repeating elements in a list rather than extending the entire list, as the extend()
method does. Note that it also works with other iterable objects, such as strings or tuples.
List Comprehension
List comprehension is a concise way to create lists in Python, often used for transforming one list (or other iterables) into a new list. You can use list comprehension to repeat the elements of a list n
times.
Here is an example:
original_list = [1, 2, 3, 4] n = 3 repeated_list = [item for item in original_list for _ in range(n)] print(repeated_list) # [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4]
In this example, the nested for
loop inside the list comprehension is responsible for repeating each element of the original list. This approach creates a new list by iterating through each element of the original_list
and the range
object representing the desired number of repetitions.
Frequently Asked Questions

How to replicate list elements n times?
To replicate each element of a list n
times, you can use list comprehension. Here’s an example:
original_list = [1, 2, 3] n = 3 new_list = [item for item in original_list for _ in range(n)] # [1, 1, 1, 2, 2, 2, 3, 3, 3]
This code will create a new list with each element of original_list
repeated n
times.
How to create a list that repeats itself until a specific length?
To create a list that repeats itself until it reaches a specific length, you can use itertools.cycle
.
from itertools import cycle, islice original_list = [1, 2, 3] length = 10 repeated_list = list(islice(cycle(original_list), length)) # [1, 2, 3, 1, 2, 3, 1, 2, 3, 1]
This code will create a list that repeats original_list
until it reaches the desired length (10 in this case).
What is the best way to repeat a string n times in a list?
To repeat a string n
times in a list, you can simply use the multiplication operator *
.
Here’s an example:
string = "example" n = 3 repeated_list = [string] * n print(repeated_list) # ['example', 'example', 'example']
This code will create a list containing the string "example"
repeated 3 times.
How can I use the repeat function in Python?
The repeat
function is part of the itertools
module. You can import it and use it to create a list of repeated items. Here’s an example:
from itertools import repeat item = "example" n = 3 repeated_list = list(repeat(item, n)) print(repeated_list) # ['example', 'example', 'example']
This code will produce a list containing the string "example"
repeated 3 times.
How do you create a list of ones with a specific length in Python?
To create a list of ones with a specific length, you can use list comprehension or the multiplication operator *
.
Here’s an example using the multiplication operator:
length = 5 ones_list = [1] * length print(ones_list) # [1, 1, 1, 1, 1]
This code will create a list containing five ones: [1, 1, 1, 1, 1]
.
What’s the method to flatten a list in Python?
To flatten a nested list in Python, you can use a list comprehension with nested loops. Here’s an example:
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] flattened_list = [item for sublist in nested_list for item in sublist] print(flattened_list) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
This code will flatten nested_list
into a single list: [1, 2, 3, 4, 5, 6, 7, 8, 9]
.
π Recommended: Python List Comprehension — Ultimate Guide
Python One-Liners Book: Master the Single Line First!
Python programmers will improve their computer science skills with these useful one-liners.
Python One-Liners will teach you how to read and write “one-liners”: concise statements of useful functionality packed into a single line of code. You’ll learn how to systematically unpack and understand any line of Python code, and write eloquent, powerfully compressed Python like an expert.
The book’s five chapters cover (1) tips and tricks, (2) regular expressions, (3) machine learning, (4) core data science topics, and (5) useful algorithms.
Detailed explanations of one-liners introduce key computer science concepts and boost your coding and analytical skills. You’ll learn about advanced Python features such as list comprehension, slicing, lambda functions, regular expressions, map and reduce functions, and slice assignments.
You’ll also learn how to:
- Leverage data structures to solve real-world problems, like using Boolean indexing to find cities with above-average pollution
- Use NumPy basics such as array, shape, axis, type, broadcasting, advanced indexing, slicing, sorting, searching, aggregating, and statistics
- Calculate basic statistics of multidimensional data arrays and the K-Means algorithms for unsupervised learning
- Create more advanced regular expressions using grouping and named groups, negative lookaheads, escaped characters, whitespaces, character sets (and negative characters sets), and greedy/nongreedy operators
- Understand a wide range of computer science topics, including anagrams, palindromes, supersets, permutations, factorials, prime numbers, Fibonacci numbers, obfuscation, searching, and algorithmic sorting
By the end of the book, you’ll know how to write Python at its most refined, and create concise, beautiful pieces of “Python art” in merely a single line.
Get your Python One-Liners on Amazon!!

While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com that has taught exponential skills to millions of coders worldwide. He’s the author of the best-selling programming books Python One-Liners (NoStarch 2020), The Art of Clean Code (NoStarch 2022), and The Book of Dash (NoStarch 2022). Chris also coauthored the Coffee Break Python series of self-published books. He’s a computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.