33
Студента
60%
Завершения
Перед прохождением данного испытания рекомендуется пройти и проанализировать решение учителя в испытании "Построение маршрута".
src/transformer.py
Реализуйте функцию transform()
, которая строит дерево относительно заданного корневого узла.
Функция на вход принимает 2 аргумента:
- исходное дерево
- узел, от которого будет построено новое дерево.
Функция должна возвращать новое дерево с сохранёнными связями между узлами, в котором переданный узел является корневым.
tree = ['A', [ # A
['B', [ # / \
['D'], # B C
]], # / / \
['C', [ # D E F
['E'],
['F'],
]],
]]
transform(tree, 'B')
# ['B', [ # B
# ['D'], # / \
# ['A', [ # D A
# ['C', [ # \
# ['E'], # C
# ['F'], # / \
# ]], # E F
# ]],
# ]]
Подсказки
- Другие примеры можно посмотреть в файле с тестами
- Используйте функции модулей itertools и functools из стандартной библиотеки
- Работа с иерархическими структурами данных
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.