Basic data types in Python allow us to store a single value under a symbolic name. This roughly follows the mathematical notation of variables. In a way, a name is assigned to a value, so you don't need to remember the actual value, nor its address in computer memory, just a simple, illustrative name.
But, if you need to store a collection of values under one variable name, basic data types won't do the job. You'll need to use more complex data structures. Python has four data types for storing a collection of values under the same name - Tuple, Set, Dictionary, and List. We'll focus on the latter in this article.
A List is a Python data type similar to an array in any other programming language. It stores an ordered collection of values under the same name. Also, it allows duplicate values, as well as changing values of stored elements. The only difference between a List and any usual array is that not all the elements of a List need to have the same data type (it's heterogenous). For example, one List may contain integer elements, floating-point numbers, strings, as well as other Lists, and any other data type elements:
example_list = [1, 3.14, 'abcd', [4, 3, 2, 1]]
Note: You create a Python List by listing its elements between two square brackets -
[...]. Each element is separated by a comma -
,. Python has an
array type, separate from Lists and shouldn't be confused with Lists.
In this guide, we'll take a look at how to add elements to the end of a List in Python, how to merge lists, etc. using the
append()method, and compare it to other methods used to add elements to a List -
How To Append Elements to a Python List Using append()
Appending elements to a List is equal to adding those elements to the end of an existing List. Python provides several ways to achieve that, but the method tailored specifically for that task is
append(). It has a pretty straightforward syntax:
This code snippet will add the
element to the end of the
example_list (which is of
list type). As we've stated before, a list can contain elements of different data types. Therefore,
element can be of any possible data type -
tuple, and so on.
In the following sections, we'll go over some practical examples illustrating how to append an individual element to a list, as well as how to append one list to another.
Note: In the following examples, we use a List containing elements of different types.
How To Add a Single Element to the End of a Python List
Adding a single element illustrates the main purpose of the
append() method in Python. Let's assume you have an example list:
example_list = [1, 3.14, 'abcd']
You would add
5 to the end of the
exampe_list in the following way:
example_list will have
5 added to its end:
[1, 3.14, 'abcd', 5]
How To Append One List to Another in Python
Assume you have two lists and want to append one to another:
example_list = [1, 3.14, 'abcd'] secondary_list = [4, 3, 2, 1]
append() method doesn't provide a way to append two lists together in one method call. If you try to append those two lists using
append(), the whole
secondary_list will be added as a single element of the
example_list, creating a nested list:
example_list contains the following elements, which are probably not what you wanted in the first place:
[1, 3.14, 'abcd', [4, 3, 2, 1]]
Appending one list into another using
append() is achieved by iterating over all elements of a list we want to append and appending each of them to the original List :
for element in secondary_list: example_list.append(element) print(example_list)
Free eBook: Git Essentials
Check out our hands-on, practical guide to learning Git, with best-practices, industry-accepted standards, and included cheat sheet. Stop Googling Git commands and actually learn it!
That way, we've appended the
secondary_list to the end of the
[1, 3.14, 'abcd', 4, 3, 2, 1]
Alternatives to append() in Python
Python List has a couple more methods for adding elements besides
append(). Most notably,
insert(). In the following subsections, we'll get into the differences between them and the
append() vs extend()
As we've seen in previous sections,
append() is intended to add one element to the end of a List. On the other hand,
extend() is used to add multiple elements to the end of a List - effectively, it appends one list to another. Let's see how
example_list = [1, 3.14, 'abcd'] secondary_list = [4, 3, 2, 1] example_list.extend(secondary_list) print(example_list)
[1, 3.14, 'abcd', 4, 3, 2, 1]
extend() appends two lists in one call, and the
append() needs to be called one time for each element of a List you want to append! It's a handy method to remember as an alternative.
append() vs insert()
There is no way to insert an element to a specific place in a List using
append(), it automatically adds it to the end of a List. That's where
insert() comes into view!
extend(), it accepts two arguments - one is the element you want to insert, and the other is the index of that element in a List.
For example, if you want to add
'asdf' to the end of the
example_list you would use
example_lsit.append('asdf'), as we've seen in previous sections. But if you want to add it to a specific place, say, between
'abcd', you must use
example_list = [1, 3.14, 'abcd'] # Insert element `asdf` on the index `2` example_list.insert(2, 'asdf') print(example_list)
This results in:
[1, 3.14, 'asdf','abcd']
Note the difference in indexing of the original and resulting lists. In the original
example_list, the element on index
'abcd'. After adding
'asdf', it is on the index
2, and the
'abcd' is shifted to the index of
After reading this guide, you should have a better understanding of how to use
append() method on Python Lists and how it compares to other Python methods for adding elements to a List.
For a more in-depth comparison of those methods, you should definitely take a look at the following guide - append() vs extend() vs insert() in Python Lists.