Extend and Append are two Python list methods used to add elements to a list. Although they appear similar, they have different functionalities and use cases. Understanding the differences between the append() and extend() methods is crucial when working with lists in Python. Although both techniques are used to add elements to a list, their behaviors and effects vary. We will examine the distinctions between append() and extend(), how they are used, and when to pick one over the other in this post.
Extend vs Append Python List Methods
In Python, there are two ways to add elements to a list: extend() and append(). However, these two methods serve quite different functions. In append() we add a single element to the end of a list. In extend() we add multiple elements to a list. The supplied element is added as a single item at the end of the initial list by the append() method. When an Iterable is supplied as a parameter, the extend() method adds each element from the Iterable to the list’s end individually. It alters the initial list.
What is Append in Python?
Python’s append() function inserts a single element into an existing list. The element will be added to the end of the old list rather than being returned to a new list. Adds its argument as a single element to the end of a list. The length of the list increases by one.
Syntax of Python append()
Syntax: list.append(item)
Parameters:
- item: an item to be added at the end of the list, The parameter is mandatory and omitting it can give an error.
Returns: The method doesn’t return any value
Example 1: Here in this example, we have added an item to an existing list using Python.
Python3
my_list = [ 'Lazyroar' , 'for' ] my_list.append( 'Lazyroar' ) print my_list |
Output
['Lazyroar', 'for', 'Lazyroar']
NOTE: A list is an object. If you append another list onto a list, the parameter list will be a single object at the end of the list.
Example 2: Here in this example, we have added another list to an existing list using Python.
Python3
my_list = [ 'Lazyroar' , 'for' , 'Lazyroar' ] another_list = [ 6 , 0 , 4 , 1 ] my_list.append(another_list) print my_list |
Output
['Lazyroar', 'for', 'Lazyroar', [6, 0, 4, 1]]
What is extend() in Python?
The Python’s List extend() Iterates over its argument and adding each element to the list and extending the list. The length of the list increases by a number of elements in its argument.
Syntax of Python extend()
Syntax: list.extend(iterable)
Parameters:
- iterable: Any iterable (list, set, tuple, etc.)
Returns: None
Example 1: Here in this example we are extending a list into a existing list using Python.
Python3
my_list = [ 'Lazyroar' , 'for' ] another_list = [ 6 , 0 , 4 , 1 ] my_list.extend(another_list) print my_list |
Output
['Lazyroar', 'for', 6, 0, 4, 1]
NOTE: A string is iterable, so if you extend a list with a string, you’ll append each character as you iterate over the string.
Example 2: Here in this example we are extending a given item into a existing list using python.
Python3
my_list = [ 'Lazyroar' , 'for' , 6 , 0 , 4 , 1 ] my_list.extend( 'Lazyroar' ) print my_list |
Output
['Lazyroar', 'for', 6, 0, 4, 1, 'g', 'e', 'e', 'k', 's']
Difference Between append() and extend() in Python
Basis for Comparison |
Append() |
Extend() |
---|---|---|
Purpose
|
To add a single entry to the end of a list, use the append() function. | To add additional elements or an iterable to the end of a list, use the extend() function. |
Input |
accepts only one input element. |
accepts as input an iterable (such as a list or tuple). |
Operation |
The append() function adds the full input to the list as a single item.
|
extend() adds each item to the list independently after iterating through each one in the input. |
Efficiency |
Since append() only executes one operation, it is typically quicker and more effective than extend(). |
When adding elements from numerous iterables or with huge inputs, extend() could take longer. |
Time complexity |
Append has constant time complexity i.e.,O(1) |
Extend has a time complexity of O(k). Where k is the length of the list which need to be added. |