pythonlistdictionary

Update values of a list of dictionaries in python


I have a CSV file:

Martin;Sailor;-0.24
Joseph_4;Sailor;-0.12
Alex;Teacher;-0.23
Maria;Teacher;-0.57

My objective is to create a list with dictionaries for each job:

list_of_jobs = [{'Job' : Sailor, 'People' : ['Martin', 'Joseph']}
                 {'Job' : Teacher, 'People' : ['Alex', 'Maria']}
] 
                                      

I created the dictionaries but I can't figure out how to update the value of list_of_jobs['People']


Solution

  • If you have a list of dictionary like this:

    list_of_jobs = [
      {'Job' : 'Sailor', 'People' : ['Martin', 'Joseph']},
      {'Job' : 'Teacher', 'People' : ['Alex', 'Maria']}
    ]
    

    You can access the dictionary by index.

    list_of_jobs[0]
    
    Output:
    {'Job' : 'Sailor', 'People' : ['Martin', 'Joseph']}
    

    If you want to access 'People' attribute of the first dictionary, you can do it like this:

    list_of_jobs[0]['People']
    
    Output:
    ['Martin', 'Joseph']
    

    If you want to modify the value of that list of people, you can use append() to add an item or pop() to remove an item from the list.

    list_of_jobs[0]['People'].append('Andrew')
    list_of_jobs[0]['People'].pop(1)
    

    Now, list_of_jobs will have this state:

    [
      {'Job' : 'Sailor', 'People' : ['Martin', 'Andrew']},
      {'Job' : 'Teacher', 'People' : ['Alex', 'Maria']}
    ]