На странице представлен фрагмент
Реши любую задачу с помощью нейросети.
Задача состоит в написании функции `transform`, которая принимает на вход последовательность объектов и возвращает преобразованную последовательность в виде списка вложенных объектов.
Алгоритм решения:
1. Создадим пустой список `result`, который будет содержать преобразованную последовательность.
2. Для каждого элемента `item` входной последовательности:
– Если элемент является итерируемым (т.е. список, кортеж, множество или другой итерируемый объект), рекурсивно вызовем функцию `transform` для этого элемента и добавим полученный результат в `result`.
– Иначе добавим элемент `item` в `result` в виде вложенного списка с одним элементом.
3. Вернем `result` в качестве результата функции.
Реализация функции `transform` на языке Python:
“`python
import typing
def transform(iterable: typing.Iterable) -> list:
result = []
for item in iterable:
if isinstance(item, typing.Iterable) and not isinstance(item, (str, bytes)):
result.append(transform(item))
else:
result.append([item])
return result
“`
Пример использования функции `transform`:
“`python
print(transform([1, 2]))
# Вывод: [[1], [2]]
print(transform([1, 2, 3]))
# Вывод: [[1], [2], [3]]
print(transform([1, [2, 3]]))
# Вывод: [[1], [[2], [3]]]
“`
Функция `transform` преобразует входную последовательность в список вложенных объектов, где каждый объект будет представлен в виде списка с одним элементом. Если элемент последовательности сам является итерируемым, то он также будет преобразован в список вложенных объектов.