Я прочитал код в книге «Подумай о питоне». Этот код застревает на inverse[val].[key]
с ошибкой:
Объект 'str' не имеет атрибута 'append' '
Что имеет смысл, поскольку inverse[val]
содержит строковый объект.
Здесь d - входной словарь.
def invert_dict(d):
inverse = dict()
for key in d:
val = d[key]
if val not in inverse:
inverse[val] = [key]
else:
inverse[val].append(key)
return inverse
Словарь ввода {'a': 1, 'p': 1, 'r': 2, 't': 1, 'o': 1}
Ожидаемый результат - {1: ['a', 'p', 't', 'o'], 2: ['r']}
Как мне реализовать это, изменив данный блок кода?