Saturday, December 28, 2024
Google search engine
HomeLanguagesPython – Update values of a list of dictionaries

Python – Update values of a list of dictionaries

In this article, we will update the values of a list of dictionaries.

Method 1: Using append() function

The append function is used to insert a new value in the list of dictionaries, we will use pop() function along with this to eliminate the duplicate data.

Syntax:

  • dictionary[row][‘key’].append(‘value’)
  • dictionary[row][‘key’].pop(position)

Where:

  • dictionary is the input list of dictionaries
  • row is the row that we want to update
  • value is the new value to be updated
  • key is the column to be updated
  • position is the place where the old value is there

Python program to create a list of dictionaries

Python3




# create a list of dictionaries
# with student data
data = [
    {'name': 'sravan', 'subjects': ['java', 'python']},
    {'name': 'bobby', 'subjects': ['c/cpp', 'java']},
    {'name': 'ojsawi', 'subjects': ['iot', 'cloud']},
    {'name': 'rohith', 'subjects': ['php', 'os']},
    {'name': 'gnanesh', 'subjects': ['html', 'sql']}
]
 
# display first student
print(data[0])
 
# display all student
data


Output:

{'name': 'sravan', 'subjects': ['java', 'python']}
[{'name': 'sravan', 'subjects': ['java', 'python']},
 {'name': 'bobby', 'subjects': ['c/cpp', 'java']},
 {'name': 'ojsawi', 'subjects': ['iot', 'cloud']},
 {'name': 'rohith', 'subjects': ['php', 'os']},
 {'name': 'gnanesh', 'subjects': ['html', 'sql']}]

Time Complexity: O(1)
Auxiliary Space: O(1)

Update values in the above list of dictionaries

Python3




# update first student python subject
# to html
data[0]['subjects'].append('html')
data[0]['subjects'].pop(1)
 
# update third student java subject
# to dbms
data[2]['subjects'].append('dbms')
data[2]['subjects'].pop(1)
 
# update fourth student php subject
# to php-mysql
data[3]['subjects'].append('php-mysql')
data[3]['subjects'].pop(0)
 
# display updated list
data


Output:

[{'name': 'sravan', 'subjects': ['java', 'html']},
 {'name': 'bobby', 'subjects': ['c/cpp', 'java']},
 {'name': 'ojsawi', 'subjects': ['iot', 'dbms']},
 {'name': 'rohith', 'subjects': ['os', 'php-mysql']},
 {'name': 'gnanesh', 'subjects': ['html', 'sql']}]

Time complexity: O(1)
Auxiliary space: O(1)

Method 2: Using insert() function

This function is used to insert updated data based on an index.

Syntax:

  • dictionary[row][‘key’].insert(index,’value’)
  • dictionary[row][‘key’].pop(position)

Where,

  • dictionary is the input list of dictionaries
  • row is the row that we want to update
  • value is the new value to be updated
  • index is the position to be updated
  • key is the column to be updated
  • position is the place where the old value is there

Example: Python program to update the values in a list of dictionaries

Python3




# update first student python subject
# to html
data[0]['subjects'].insert(0, 'html')
data[0]['subjects'].pop(1)
 
# update third student java subject
# to dbms
data[2]['subjects'].insert(0, 'dbms')
data[2]['subjects'].pop(1)
 
# update fourth student php subject
# to php-mysql
data[3]['subjects'].insert(1, 'php-mysql')
data[3]['subjects'].pop(0)
 
# display updated list
data


Output:

[{'name': 'sravan', 'subjects': ['html', 'python']},
 {'name': 'bobby', 'subjects': ['c/cpp', 'java']},
 {'name': 'ojsawi', 'subjects': ['dbms', 'cloud']},
 {'name': 'rohith', 'subjects': ['php-mysql', 'os']},
 {'name': 'gnanesh', 'subjects': ['html', 'sql']}]

The time complexity of updating the subjects of each student is O(1), since we are only inserting and popping elements from a list which takes constant time.

The space complexity of the program is also O(1), since we are not using any additional space other than the given list of dictionaries data.

Dominic Rubhabha-Wardslaus
Dominic Rubhabha-Wardslaushttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Recent Comments