Код выведет a, затем abdcra, затем список [1, 2, 3, 1, 2, 3]. Индексация строки возвращает строку длины один, а умножение списка повторяет его элементы.
Python: обратный срез строки и повторение списка
Код выведет a, затем abdcra, затем список [1, 2, 3, 1, 2, 3]. Индексация строки возвращает строку длины один, а умножение списка повторяет его элементы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
что выводит
s = 'abracadabra' print(s[5][0][0][0])
print(s[::-2])
s = [1, 2, 3] print(s * 2)
Ответ
Код выведет a, затем abdcra, затем список [1, 2, 3, 1, 2, 3]. Индексация строки возвращает строку длины один, а умножение списка повторяет его элементы.
a
abdcra
[1, 2, 3, 1, 2, 3]
s[5] — символ a; каждый следующий [0] снова даёт a. Срез [::-2] идёт с конца через один индекс: 10, 8, 6, 4, 2, 0. Выражение s * 2 для списка не умножает числа: оно создаёт повторённую последовательность. Для вложенных изменяемых объектов при этом повторяются ссылки.