#python #dictionary #key
Вопрос:
У меня есть словарь python.
project = {
5:{"name:Mark"},
1:{"name:Mark"},
3:{"name:Mark"},
4:{"name:Kim"},
2:{"name:Kim"},
}
Я хочу сбросить ключи.
project = {
1:{"name:Mark"},
2:{"name:Mark"},
3:{"name:Mark"},
4:{"name:Kim"},
5:{"name:Kim"},
}
Как я мог это сделать?
Комментарии:
1. Что вы подразумеваете под сбросом? Порядок не является реальным свойством а
dict
, это просто представление. И это действительно меняет привязки ключ-значение, почему? В чем тут логика?2. Что именно в логике приводит к замене № 2 и №5?
Ответ №1:
Да, теперь, когда python упорядочил dict
пары значений ключей, они сохраняют свой порядок при повторении их. Вам просто нужно дать значениям новые ключи:
project = {
5:{"name:Mark"},
1:{"name:Mark"},
3:{"name:Mark"},
4:{"name:Kim"},
2:{"name:Kim"},
}
project = {index:value for index,value in enumerate(project.values(), 1)}
print(project)
Вывод по запросу.
(Обратите внимание на краткую версию, приведенную в комментарии ниже:)
project = dict(enumerate(project.values(), 1))
Комментарии:
1. Или
project = dict(enumerate(project.values(), 1))