Пронумеровать значения в словаре?

dict = {}
list = ["first", "second", "third"]
count = 0
for i in list:
   count+=1
   dict[count]=i
   print(dict)

 #Хочу вывести словарь вот так - {1: 'first', 2: 'second', 3: 'third'}
 # Но выводится вот так - {1: 'first'}
                          {1: 'first', 2: 'second'}
                          {1: 'first', 2: 'second', 3: 'third'}

Подскажите, что я делаю не так?


Ответы (2 шт):

Автор решения: n1tr0xs
  1. Не используйте зарезервированные слова для своих переменных (list, dict и т.д.)
  2. В общем ваш код верный, но print нужно вынести из цикла, чтобы он сработал только один раз.
lst = ['first', 'second', 'third']
my_dict = dict()
c = 0
for val in lst:
    c += 1
    my_dict[c] = val
print(my_dict)
→ Ссылка
Автор решения: Сергей Ш
dct = {}
lst = ["first", "second", "third"]
for x, i in enumerate(lst, 1):
   dct[x]=i
print(dct)

в одну строчку

print({x: i for x, i in enumerate(["first", "second", "third"], 1)})
→ Ссылка