Update list in list python

List in python is mutable types which means it can be changed after assigning some value. The list is similar to arrays in other programming languages. In this article, we are going to see how to change list items in python. 

Let’s understand first how to access  elements in python:

  • Accessing the first element mylist[0]
  • Accessing the second element mylist[1]
  • Accessing the last element mylist[-1] or mylist[len(mylist)-1]

Python3

gfg = [ 10, 20, 30, 40, 50, 60]

print(gfg[0])

print(gfg[1])

print(gfg[-1])

Output:

10
20
60

Now we can change the item list with a different method:

Example 1: Change Single list item.

Approach:

  • Change first element mylist[0]=value
  • Change third element mylist[2]=value
  • Change fourth element mylist[3]=value

Code:

Python3

List=[ 10, 20, 30, 40, 50, 60]

print("original list ")

print(List)

List[0] = 11

List[1] = 21

List[ -1] = 61

print("\nNew list")

print(List)

Output:

original list 
[10, 20, 30, 40, 50, 60]

New list
[11, 21, 30, 40, 50, 61]

Example 2: Changing all values using loops.

Python3

list = [ 10, 20, 30, 40, 50, 60]

print("Original list ")

print(list)

print("After incrementing each element of list by 2")  

for i in range( len(list)):

    list[i] = list[i] + 2

print(list)

Output:

Original list 
[10, 20, 30, 40, 50, 60]
After incrementing each element of list by 2
[12, 22, 32, 42, 52, 62]

Example 3: Changing all values of a list using List comprehension.

Python3

List_1 = [ 10, 20, 30, 40, 50]

print("Original list ")

print(List_1)

print("After incrementing each element of list by 2")

List_2=[ i+2 for i in List_1]

print(List_2)

Output:

Original list 
[10, 20, 30, 40, 50]
After incrementing each element of list by 2
[12, 22, 32, 42, 52]

Python Lists and List Manipulation Video

Before starting, I should mention that the code in this blog post and in the video above is available on my github.

Defining a List

Lists are written within square brackets []

Update list in list python

Defining a List. The second row in this table index is how you access items in the list.
# Define a list
z = [3, 7, 4, 2]

Lists store an ordered collection of items which can be of different types. The list defined above has items that are all of the same type (int), but all the items of a list do not need to be of the same type as you can see below.

# Define a list
heterogenousElements = [3, True, 'Michael', 2.0]

The list contains an int, a bool, a string, and a float.

Access Values in a List

Each item in a list has an assigned index value. It is important to note that python is a zero indexed based language. All this means is that the first item in the list is at index 0.

Update list in list python

Access item at index 0 (in blue)
# Define a list
z = [3, 7, 4, 2]
# Access the first item of a list at index 0
print(z[0])

Update list in list python

Output of accessing the item at index 0.

Python also supports negative indexing. Negative indexing starts from the end. It can be more convienient at times to use negative indexing to get the last item in the list because you don’t have to know the length of the list to access the last item.

Update list in list python

Accessing the item at the last index.
# print last item in the list
print(z[-1])

Update list in list python

Output of accessing the last item in the List

As a reminder, you could also access the same item using positive indexes (as seen below).

Update list in list python

Alternative way of accessing the last item in the list z

Slice of Lists

Slices are good for getting a subset of values in your list. For the example code below, it will return a list with the items from index 0 up to and not including index 2.

Update list in list python

First index is inclusive (before the :) and last (after the :) is not
# Define a list
z = [3, 7, 4, 2]
print(z[0:2])

Update list in list python

Slice of a list syntax.

Update list in list python

# everything up to but not including index 3
print(z[:3])

Update list in list python

Update list in list python

The code below returns a list with items from index 1 to the end of the list

# index 1 to end of list
print(z[1:])

Update list in list python

Update Item in a List

Update list in list python

Lists in Python are mutable. All that means is that after defining a list, it is possible to update the individual items in a list.

# Defining a list
z = [3, 7, 4, 2]
# Update the item at index 1 with the string "fish"
z[1] = "fish"
print(z)

Update list in list python

Code to modify an item in a list

List Methods

Python lists have different methods that help you modify a list. This section of the tutorial just goes over various python list methods.

Index Method

Update list in list python

# Define a list
z = [4, 1, 5, 4, 10, 4]

Update list in list python

The index method returns the first index at which a value occurs. In the code below, it will return 0.

print(z.index(4))

Update list in list python

Update list in list python

You can also specify where you start your search.

print(z.index(4, 3))

Update list in list python

Count Method

The count method works just like how it sounds. It counts the number of times a value occurs in a list

random_list = [4, 1, 5, 4, 10, 4]
random_list.count(5)

Update list in list python

Sort Method

Update list in list python

Sort a Python List - the actual code would be: z.sort()

The sort method sorts and alters the original list in place.

z = [3, 7, 4, 2]
z.sort()
print(z)

Update list in list python

The code above sorts a list from low to high. The code below shows that you can also sort a list from high to low.

Update list in list python

Sort a python list from high to low
# Sorting and Altering original list
# high to low
z.sort(reverse = True)
print(z)

Update list in list python

As an aside, I should mention that you can also sort a list of strings from a-z and z-a as you can see here.

Append Method

Update list in list python

Add the value 3 to the end of the list.

The append method adds an element to the end of a list. This happens inplace.

z = [7, 4, 3, 2]
z.append(3)
print(z)

Update list in list python

Remove Method

Update list in list python

The remove method removes the first occurrence of a value in a list.

z = [7, 4, 3, 2, 3]
z.remove(2)
print(z)

Update list in list python

Code removes the first occurrence of the value 2 from the list z

Pop Method

Update list in list python

z.pop(1) removes the value at index 1 and returns the value 4.

The pop method removes an item at the index you provide. This method will also return the item you removed from the list. If you don’t provide an index, it will by default remove the item at the last index.

z = [7, 4, 3, 3]
print(z.pop(1))
print(z)

Update list in list python

Extend Method

Update list in list python

The method extends a list by appending items. The benefit of this is you can add lists together.

z = [7, 3, 3]
z.extend([4,5])
print(z)

Update list in list python

Add the list [4, 5] to the end of the list z.

Alternatively, the same thing could be accomplished by using the + operator.

print([1,2] + [3,4])

Update list in list python

Insert Method

Update list in list python

insert the list [1,2] at index 4

The insert method inserts an item before the index you provide

z = [7, 3, 3, 4, 5]
z.insert(4, [1, 2])
print(z)

Update list in list python

Closing Remarks

Please let me know if you have any questions either here or in the comments section of the youtube video or through Twitter! Next post reviews python dictionaries. If you want to learn how to utilize the Pandas, Matplotlib, or Seaborn libraries, please consider taking my Python for Data Visualization LinkedIn Learning course. Here is a free preview video.

How do you update a list in Python?

Different ways to update Python List:.
list.append(value) # Append a value..
list.extend(iterable) # Append a series of values..
list.insert(index, value) # At index, insert value..
list.remove(value) # Remove first instance of value..
list.clear() # Remove all elements..

How do I update a nested list in Python?

To add new values to the end of the nested list, use append() method. When you want to insert an item at a specific position in a nested list, use insert() method. You can merge one list into another by using extend() method.

How do you overwrite a list in Python?

We can also use a while loop to replace values in the list. While loop does the same work as for loop. In the while loop first, we define a variable with value 0 and iterate over the list. If value matches to value that we want to replace then we replace it with the new value.

How do I make a list inside a list in Python?

# creating list. nestedList = [1, 2, ['a', 1], 3] ​.
# indexing list: the sublist has now been accessed. subList = nestedList[2] ​.
# access the first element inside the inner list: element = nestedList[2][0] ​.