#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])