Python: Декартово произведение
Обновлено: 01 авг., 23:20
191
Студент
74%
Завершения
src/solution.py
Вам предстоит реализовать функцию product()
, которая принимает один и более позиционных параметров — iterable любого вида, и возвращает список кортежей. Возвращаемый список представляет собой декартово произведение элементов входных последовательностей — все сочетания "каждый с каждым". Например, для последовательностей [1, 2]
и 'ab'
(помним, строки — тоже iterable) функция должна вернуть список [(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b')]
, то есть каждый элемент списка с каждым символом строки.
from solution import product
product() # хотя бы одна последовательность должна быть дана
# Traceback (most recent call last):
# ...
# TypeError: product() missing 1 required positional argument: 'sequence'
product([])
# []
product([1, 2], 'abc')
# [(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c')]
product('hello', [], 'world')
# []
# ^ если хотя бы одна из входных последовательностей пустая,
# то выходной список тоже будет пуст
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.