У меня есть этот словарь (название и сорт):значение печати и ключи от словаря в определенном формате (питон)
d1 = {'a': 1, 'b': 2, 'c': 3}
и я должен напечатать это следующим образом:
|a | 1 | C |
|b | 2 | B |
|c | 3 | A |
Я создал новый словарь, чтобы узнать букву градуировки на основе этих условий:
d2 = {}
d2 = d1
for (key, i) in d2.items():
if i = 1:
d2[key] = 'A'
elif i = 2:
d2[key] = 'B'
elif i = 3:
d2[key] = 'C'
При попытке напечатать его с помощью следующий код:
sorted_d = sorted(d)
format_str = '{:10s} | {:10f} | {:>7.2s} |'
for name in sorted_d:
print(format_str.format(name, d[name]))
Он печатает:
a | 1 |
b | 2 |
c | 3 |
Как я могу добавить буквенную?
Ваш код класса не точно изменять правильный словарь. Он ссылается на 'd1' (не копируя его). Затем вы изменяете 'dw'. Вы также * инвертировали оценки *; ваш образец вывода '1' должен быть' C', но тогда вы фактически использовали 'A' для' 1'. –
Ваш заявленный результат также не соответствует вашему фактическому коду. –
Вы также сортируете словарь 'd', но ваш * входной словарь * называется' d1'. Можете ли вы, по крайней мере, создать код в своем вопросе, который на самом деле правильно воспроизводит вашу проблему? –