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

#python #python-3.x #dictionary #key-value

Вопрос:

 mydict = {'5': 0, '2': 0, '1': 0, '12': 0}

number = input()

for i in range(0,4):
    if number == mydict[i]:
        mydict.keys[i] =1

print(mydict)
 

Я хочу быть похожим на

  • 5 —> {‘5’: 1, ‘2’: 0, ‘1’: 0, ’12’: 0} или
  • 2 —> {‘5’: 0, ‘2’: 1, ‘1’: 0, ’12’: 0}

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

1. Ни одно из значений, присвоенных i, не является ключом в mydict. Если бы это было так, то следующая строка все равно не имеет смысла.

Ответ №1:

Словари находятся в группе hashmap, поэтому для поиска элемента нет необходимости повторять все элементы.

просто попробуйте:

 mydict = {'5': 0, '2': 0, '1': 0, '12': 0}

inp = input()
mydict[inp] = mydict.get(inp, 0)   1
 

Он также позволяет вводить числа, которых в настоящее время нет в словаре, с начальным значением 0, если это тот случай, который вы ищете. В противном случае просто получите ключ и увеличьте его значение:

 mydict[inp]  = 1
 

Ответ №2:

Что плохого в том, чтобы просто не делать цикл:

 mydict[number]  = 1