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

Я пытаюсь добавить какое-то значение и ключ в словарь python, используя следующий сценарий

print('phone book contacts')
contacts = input('how many contacts to add: ')
i = 0
for i in range(int(contacts)):
  phone_book = {}
  a = input('name: ')
  b = input('number: ')
  phone_book[a] = b
print(phone_book)

, когда я ввожу 2 ключа и значения, например:

adam : 08123
daniel : 0877

Я ожидаю результат будет таким:

{'adam':'08123', 'daniel':'0877'}

вместо этого я получаю следующий результат:

{'daniel': '1234'}

любые идеи, как показать ключ и значение словаря, аналогичные моему ожидаемому результату?

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

Используйте метод update() класса словаря в python. Итак, если применить к вашему коду

, это будет

print('phone book contacts')
contacts = input('how many contacts to add: ')
i = 0
phone_book = {}
for i in range(int(contacts)):
  a = input('name: ')
  b = int(input('number: '))
  phone_book.update({a : b})
print(phone_book)

Поскольку число является целым числом, вы должны использовать фигурные скобки.

И да, переместите phone_book = {} над l oop, потому что он будет опустошаться при каждом цикле.

0 голосов
/ 21 июня 2020

Вы можете попробовать что-то вроде этого:

class my_dictionary(dict):  
  
    # __init__ function  
    def __init__(self):  
        self = dict()  
          
    # Function to add key:value  
    def add(self, key, value):  
        self[key] = value  
  
# Main Function  
dict_obj = my_dictionary()  
  
# Taking input key = 1, value = test
dict_obj.key = input("Enter the key: ") 
dict_obj.value = input("Enter the value: ") 
  
dict_obj.add(dict_obj.key, dict_obj.value)  
dict_obj.add(2, 'test2')  
  
print(dict_obj)  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...