Отображение символов строки в словарь с индексом в качестве ключа

#python #python-3.x #dictionary

#python #python-3.x #словарь

Вопрос:

я новичок в кодировании на Python, я пытаюсь отобразить символы строки в словарь с индексом в качестве ключа. Я использую строку «sleeping» и хочу получить вывод в виде

 {0: 'a', 1: 's', 2: 'l', 3: 'e', 4: 'e', 5: 'p'}
  

Я использую следующий код:

 myWord = "asleep"

char_count = map(lambda x: dict(enumerate(x)), myWord)

print(char_count)

  

Вывод:

 {'a': 1, 's': 1, 'l': 1, 'e': 2, 'p': 1}
  

Комментарии:

1. Хотя зачем вам это нужно? Я не вижу никакой реальной причины для этого.

Ответ №1:

Простейшее решение:

 >>> word = 'asleep'
>>> dict(enumerate(word))
{0: 'a', 1: 's', 2: 'l', 3: 'e', 4: 'e', 5: 'p'}
  

Это работает, потому что enumerate возвращает повторяющиеся пары, такие как (0, 'a') , (1, 's') и так далее; а dict конструктор работает с повторяющимися парами (ключ, значение).

Комментарии:

1. Я делал {idx:char for idx, char in enumerate(myWord)} , но это даже лучше 🙂

Ответ №2:

Вы могли бы попробовать следующую строку:

 dict(zip(range(len(myWord)), myWord))