Какой лучший эквивалент Python для функции Common Lisp maplist
? Из документации по списку карт:
maplist похож на mapcar, за исключением того, что функция применяется к последовательному подсписок списков. функция сначала применялись к самим спискам, а затем в cdr каждого списка и затем в cdr cdr каждого список и т.д.
Пример (псевдокод, не проверен):
>>> def p(x): return x
>>> maplist(p, [1,2,3])
[[1, 2, 3], [2, 3], [3]]
Примечание: аргументы, переданные в p
в приведенном выше примере, будут списками [1, 2, 3]
, [2, 3]
, [3]
; т.е. p
не применяется к элементам этих списков. Например:.
>>> maplist(lambda l: list(reversed(l)), [1,2,3])
[[3, 2, 1], [3, 2], [3]]