Inserting an element in list at specific index using list.insert()In python list provides a member function insert() i.e. Show
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. 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, Most performance efficient approachYou 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]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']Python – Insert Item at Specific Index in ListTo insert or add an item at specific position or index in a list, you can use insert() method of List class. In this tutorial, we shall learn how to insert an item in a list, at given position, with the help of example Python programs. Syntax – insert()The syntax of insert() method is: mylist.insert(index, item)The items present from the specified index are shifted right and specified item is inserted at the index. Example 1: Insert Item at Specified Index in ListIn the following example, we have list of numbers. We will insert an item 36, in the list at index 4. Python Program mylist = [21, 5, 8, 52, 21, 87, 52] item = 36 index = 4 #insert item in mylist at index mylist.insert(index, item) print(mylist)RunOutput [21, 5, 8, 52, 36, 21, 87, 52]Example 2: Insert Item at Start of ListIn the following example, we will insert 36, at the start of the list. To insert at start, we need to provide the index as 0 to insert() method. Python Program Output [36, 21, 5, 8, 52, 21, 87, 52]Example 3: Insert Item at End of ListWe will insert an item at end of the list. To insert item at the end, provide index, as length of the list, to insert() method. Python Program mylist = [21, 5, 8, 52, 21, 87, 52] item = 36 index = len(mylist) #insert item in mylist at index mylist.insert(index, item) print(mylist)RunOutput [21, 5, 8, 52, 21, 87, 52, 36]Example 4: Insert Item with Index out of Bounds of ListIf the index provided to insert() method is more than the length of the list, it just appends the item to the list. Here in this example, the index provided is way out of bounds and more than the length of the list. Python Program Output [21, 5, 8, 52, 21, 87, 52, 36]If you provide a negative index, the item is inserted at the beginning of the list. Python Program mylist = [21, 5, 8, 52, 21, 87, 52] item = 36 index = -10 #index out of bounds of list #insert item in mylist at index mylist.insert(index, item) print(mylist)RunOutput [36, 21, 5, 8, 52, 21, 87, 52]SummaryIn this tutorial of Python Examples, we learned how to insert an item at given position in the list. Related Tutorials
Python List insert() MethodAdvertisements Previous Page Next Page Add an item to a list in Python (append, extend, insert)Posted: 2019-05-29 / Modified: 2021-04-06 / Tags: Python, List Tweet In Python, use list methods append(), extend(), and insert() to add items (elements) to a list or combine other lists. You can also use the + operator to combine lists, or use slices to insert items at specific positions.
Sponsored Link |