добавить значения в словарь ключей в Python - PullRequest
0 голосов
/ 31 января 2020

Добавить несколько значений одним ключом в словарь. У меня есть этот словарь с ключами, в котором указано имя человека, а значения - это идентификационный номер, тогда я решил добавить их день рождения к его ключу имени. Я использовал update () но он удаляет идентификационный номер и заменяет его на день рождения, я хочу добавить его

info = {'John':111111,'Mike':'222222'}

и хочу добавить их день рождения:

info = {'John':111111,'21/may/1998','Mike':'222222','14/feb/1996'}

я не хочу добавить его вручную

Ответы [ 4 ]

2 голосов
/ 31 января 2020

Что ж, вы должны указать 'John' на словарь (или создать класс для представления людей (?)) Для каждого вашего человека, поскольку вы пытаетесь сохранить для них несколько функций, которые их представляют, и для того, чтобы сделать ваши данные понятно, что нужно реконструировать json так:

info = {'John': {'id': 111111, 'birthday':'21/may/1998'},'Mike':{'id':222222,'birthday':'14/feb/1996'}}
0 голосов
/ 31 января 2020

Dict - это все о ключе и значении.

Лучший способ выполнить без использования Class - установить пару ключ / значение для каждого персонажа.

Пример:

#First you create two different Person
info = [{'name': "John", 'id': 111111}, {'name': "Mike", 'id': 222222}]

#If you want update the birthday of the first Person (John) you can do it like that.
info[0]["birthday"] = "21/may/1998"

#And for Mike you modify the second item in the list 
info[1]["birthday"] = "13/june/1996"
0 голосов
/ 31 января 2020

Попробуйте составить список значений каждого человека

info = {"John": [111111], "Mike": [222222]}

count = 0
for item in info.values():
    birthday = input(f"{[*info.keys()][count]}'s birthday:\n")
    item.append(birthday)
    count += 1

print(info)
0 голосов
/ 31 января 2020

Вы можете сохранить значения в виде списка или кортежа.

info = {'John': [111111], 'Mike': ['222222']}
info_b = {'John':'21/may/1998','Mike':'14/feb/1996'}
for k, v in info.items():
    v.append(info_b.get(k, ''))

info
# returns:
{'John': [111111, '21/may/1998'], 'Mike': ['222222', '14/feb/1996']}
...