Python - How To Append to Front of a List in Python

ID : 309

viewed : 71

Tags : PythonPython List

vote vote


This tutorial will demonstrate different ways on how to append an element to the front of a list in Python.

Throughout the tutorial, a list of integers will be used as examples to focus on list insertion instead of inserting various data types since the list insertion approach should be the same regardless of what data type the list contains.

Use insert() to Append an Element to the Front of a List in Python

The insert() function inserts an element to the given index of an existing list. It accepts two parameters, the index to be inserted into and the value to insert.

insert(idx, value) 

For example, we’ll insert an element into an existing list of size 5. To append an element to the front of the list using this function, we should set the first argument as 0, which denotes that the insertion is done at index 0 - the beginning of the list.

int_list = [13, 56, 5, 78, 100]  int_list.insert(0, 24)  print(int_list) 


[24, 13, 56, 5, 78, 100] 

Use the + Operator to Append an Element to the Front of a List in Python

Another approach to append an element to the front of a list is to use the + operator. Using the + operator on two or more lists combines them in the specified order.

If you add list1 + list2 together, then it concatenates all the elements from list2 after the last element of list1. For example, let’s add a single integer into the beginning of an already existing list using the + operator.

to_insert = 56 int_list = [13, 5, 78, 19, 66]  int_list = [to_insert] + int_list  print(int_list) 

Notice the to_insert variable is encapsulated with square brackets []. This is done to convert the single integer into the list data type to make list addition possible.


[56, 13, 5, 78, 19, 66] 

Use Unpacking to Insert an Element Into the Beginning of a List

is an operation in Python that allows unique iterable manipulations to be possible. Unpacking allows iterable assignment to be more flexible and efficient for the developers.

Unpacking also allows merging existing iterables, which is the operation that will be used to insert into the beginning of the list for this example.

To append an element to the beginning of a list using unpacking, we use the unpacking operator * to merge the single integer and the existing list, placing the integer at the beginning of the newly formed list.

to_insert = 7 int_list = [19, 22, 40, 1, 78]  int_list = [to_insert, *int_list]  print(int_list) 


[7, 19, 22, 40, 1, 78] 

Performance-wise, using unpacking is the fastest out of all the solutions mentioned. The insert() method is a close second to unpacking. Using the + operator is significantly slower than both the solutions mentioned above.

If you’re inserting into the beginning of a list with a significant number of elements, it’s best to use either unpacking or insert() for faster runtime.

  • Related HOW TO?