Which method is used to insert one item at a desired location in a list?

Python List insert()

In this tutorial, we will learn about the Python List insert() method with the help of examples.

The insert() method inserts an element to the list at the specified index.

Example

# create a list of vowels vowel = ['a', 'e', 'i', 'u']
# 'o' is inserted at index 3 (4th position) vowel.insert(3, 'o')
print('List:', vowel) # Output: List: ['a', 'e', 'i', 'o', 'u']

Inserting an element in list at specific index using list.insert()

In python list provides a member function insert() i.e.

list.insert(position, element)
It accepts a position and an element and inserts the element at given position in the list.

Let’s see an example,

Suppose we have a list of strings i.e.

# List of string list1 = ['Hi' , 'hello', 'at', 'this', 'there', 'from']
Now let insert ‘why’ at 3rd position in the list i.e.
# Add an element at 3rd position in the list list1.insert(3, 'why')
Index will start from 0 in list. So, element will be inserted at 3rd position i.e. after 0,1 & 2.
Advertisements

So, list contents will be now,

['Hi', 'hello', 'at', 'why', 'this', 'there', 'from']

Python List insert()

The Python List insert() method is an inbuilt function in Python that inserts a given element at a given index in a list.

Syntax:

list_name.insert(index, element)

Parameters:

  • index: the index at which the element has to be inserted.
  • element: the element to be inserted in the list.

Returns:



This method does not return any value but it inserts the given element at the given index.

Error:

If anything other than a list is used with insert(), then it returns an AttributeError.

Note:

If given index >= length(list) is given, then it inserts at the end of the list.

Example1: Inserting an Element to the List

Python3




# Python3 program for use
# of insert() method
list1 = [ 1, 2, 3, 4, 5, 6, 7 ]
# insert 10 at 4th index
list1.insert(4, 10)
print(list1)
list2 = ['a', 'b', 'c', 'd', 'e']
# insert z at the front of the list
list2.insert(0, 'z')
print(list2)

Output:

[1, 2, 3, 4, 10, 5, 6, 7] ['z', 'a', 'b', 'c', 'd', 'e']

Example 2: Error of insert() Method

Python3




# Python3 program for error
# of insert() method
# attribute error
string = "1234567"
string.insert(10, 1)
print(string)

Output:

Traceback (most recent call last): File "/home/2fe54bd8723cd0ae89a17325da8b2eb5.py", line 7, in string.insert(10, 1) AttributeError: 'str' object has no attribute 'insert'

Example 3: Insertion in a List Before any Element

Python3




# Python3 program for Insertion in a list
# before any element using insert() method
list1 = [ 1, 2, 3, 4, 5, 6 ]
# Element to be inserted
element = 13
# Element to be inserted before 3
beforeElement = 3
# Find index
index = list1.index(beforeElement)
# Insert element at beforeElement
list1.insert(index, element)
print(list1)

Output:

[1, 2, 13, 3, 4, 5, 6]

Example 4: Inserting a Tuple to the List

Python3




list1 = [ 1, 2, 3, 4, 5, 6 ]
# tuple of numbers
num_tuple = (4, 5, 6)
# inserting a tuple to the list
list1.insert(2, num_tuple)
print(list1)

Output:

[1, 2, (4, 5, 6), 3, 4, 5, 6]

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course




Article Tags :
Python
Python-Built-in-functions
python-list
python-list-functions
Practice Tags :
python-list
Read Full Article

Most performance efficient approach

You may also insert the element using the slice indexing in the list. For example:

>>> a = [1, 2, 4] >>> insert_at = 2 # Index at which you want to insert item >>> b = a[:] # Created copy of list "a" as "b". # Skip this step if you are ok with modifying the original list >>> b[insert_at:insert_at] = [3] # Insert "3" within "b" >>> b [1, 2, 3, 4]

For inserting multiple elements together at a given index, all you need to do is to use a list of multiple elements that you want to insert. For example:

>>> a = [1, 2, 4] >>> insert_at = 2 # Index starting from which multiple elements will be inserted # List of elements that you want to insert together at "index_at" (above) position >>> insert_elements = [3, 5, 6] >>> a[insert_at:insert_at] = insert_elements >>> a # [3, 5, 6] are inserted together in `a` starting at index "2" [1, 2, 3, 5, 6, 4]

To know more about slice indexing, you can refer: Understanding slice notation.

Note: In Python 3.x, difference of performance between slice indexing and list.index(...) is significantly reduced and both are almost equivalent. However, in Python 2.x, this difference is quite noticeable. I have shared performance comparisons later in this answer.

Alternative using list comprehension (but very slow in terms of performance):

As an alternative, it can be achieved using list comprehension with enumerate too. (But please don't do it this way. It is just for illustration):

>>> a = [1, 2, 4] >>> insert_at = 2 >>> b = [y for i, x in enumerate(a) for y in ((3, x) if i == insert_at else (x, ))] >>> b [1, 2, 3, 4]

Which method is used to add the element at specified location in the list in Python?

10 hours ago

List<T>.Insert(Int32, T) Method

  • Reference
Is this page helpful?

Is this page helpful?

Yes No
Any additional feedback?

Feedback will be sent to Microsoft: By pressing the submit button, your feedback will be used to improve Microsoft products and services. Privacy policy.

Submit

Thank you.

How to Add Elements to a List in Python (append, extend and insert)

Posted Jun 11, 2020

3 min read

report this ad

When working with lists in Python, you will often want to add new elements to the list.

The Python list data type has three methods for adding elements:

  • append() - appends a single element to the list.
  • extend() - appends elements of an iterable to the list.
  • insert() - inserts a single item at a given position of the list.

All three methods modify the list in place and return None.

Python List insert() - Insert Element At Specified Position

Insert an item at a given position.

The list.insert() method is used to insert a value at a given position in the list.

Syntax:

list.insert(index, value)

Parameters:

  1. index: (Required) The index position where the element has to be inserted.
  2. value: (Required) The value that has to be added. It can be of any type (string, integer, list, tuple, etc.).

Return type:

No return value.

The following example demonstrates the insert() method.

Example:
Copy
cities = ['Mumbai', 'London', 'Paris', 'New York'] cities.insert(0, 'New Delhi') # inserts at 0 index (first element) print(cities) cities.insert(2, 'Chicago') # inserts at 2nd index print(cities)
Output
['New Delhi', 'Mumbai', 'London', 'Paris', 'New York'] ['New Delhi', 'Mumbai', 'Chicago', 'London', 'Paris', 'New York']

The insert method can also insert set and tuples into a list. You can also add dictionaries to a list also.

Example: Insert Tuple and List
Copy
mycities = {'Delhi','Chennai'} favcities = ('Hyderabad','Bangalore') worldcities = ['Mumbai', 'London', 'New York'] worldcities.insert(1, mycities) worldcities.insert(3, favcities) print("Cities: ", cities)
Output
Cities: ['Mumbai', {'Delhi', 'Chennai'}, 'London', ('Hyderabad', 'Bangalore'), 'New York']

When an index is passed that is greater than the length of the list, the insert() method inserts the element at the end of the list.

Example: insert()
Copy
cities = ['Mumbai', 'London', 'Paris', 'New York'] cities.insert(10, 'Delhi') print(cities)
Output
['Mumbai', 'London', 'Paris', 'New York', 'Delhi']

Video liên quan

Postingan terbaru

LIHAT SEMUA