Используйте {index: char for index, char in enumerate(alphabet)}. enumerate по умолчанию начинает нумерацию с нуля.
Однострочный словарь: позиция → символ
Используйте {index: char for index, char in enumerate(alphabet)}. enumerate по умолчанию начинает нумерацию с нуля.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Дана строка alphabet = 'abcdefghijklmnopqrstuvwxyz'. Сформируйте однострочное выражение‑генератор словаря, где каждый ключ – это позиция буквы в строке, а соответствующее значение – сама буква.
Пример 1: Ввод: 'abcdefghijklmnopqrstuvwxyz' Вывод: {0: 'a', 1: 'b', 2: 'c', ..., 25: 'z'}
Ответ
Используйте {index: char for index, char in enumerate(alphabet)}. enumerate по умолчанию начинает нумерацию с нуля.
alphabet = 'abcdefghijklmnopqrstuvwxyz'
result = {index: char for index, char in enumerate(alphabet)}
Получится словарь от 0: 'a' до 25: 'z'. Более короткий вариант — dict(enumerate(alphabet)); он использует те же пары позиции и символа.
Это именно построение словаря, а не ленивый генератор: все записи создаются сразу. Для строки длины n время и память составляют O(n). Если бы нумерация должна была начинаться с единицы, использовался бы enumerate(alphabet, start=1), но это не соответствует приведённому примеру.