клавиша сброса в dict python

#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))