Заполнение словаря с тем же именем ключа в Python

#json #python-3.x #dictionary

#json #python-3.x #словарь

Вопрос:

У меня есть XML с кучей пар ключ-значение, которые имеют одинаковые имена ключей. Я хочу сохранить их как JASON в базе данных PGSQL. Насколько я вижу, я могу сохранить эти пары в переменной словаря Python, пока просматриваю XML и собираю весь список. Проблема в том, что я не могу добавить их в словарь, поскольку они имеют одинаковые имена ключей и переопределяют предыдущий элемент. Например, у меня есть словарь этой структуры:

 data=[{'contactid': 'id0', 'score': 'score0'},{'contactid': 'id1', 'score': 'score1'}]
  

Как я могу добавить еще одну запись со следующей структурой:

 {'contactid': 'id2', 'score': 'score2'}
  

Как я могу получить к ним доступ? Удалить?

Комментарии:

1. data.append() ?

2. Я не понимаю вашей точки зрения. Это список, так почему вы не могли добавить новый словарь data ?

3. Я вроде как новичок в Python. data.append() делает именно то, что я хочу.

Ответ №1:

Чтобы добавить новый словарь в свой список, просто используйте метод : append() .

Если вы хотите получить доступ к заданному словарю вашего списка, знаете ли вы его позицию, и вы просто list[index] указываете, где index находится позиция вашего словаря в списке, или вы можете сделать следующее, чтобы найти его, используя его значения :

 request_list = [] # list that will contain dictionaries you are looking for

# Say you are looking for dictionary with values : id0 and score0
mask = [(data[i]['contactid']=='id0') amp; (data[i]['score']=='score0') for i in range(len(data))]

for i, bool in enumerate(mask):
    if bool:
        request_list.append(data[i])