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