Эквивалент Python для применения схемы - PullRequest
2 голосов
/ 05 марта 2012

Имеет ли Python функцию, эквивалентную применяемой схеме?Я замечаю, что Python Reduce работает с функциями двух аргументов и применяет их рекурсивно, что очень отличается.

Должен ли я написать свой собственный?Какой-то модуль мне не хватает?

Ответы [ 2 ]

5 голосов
/ 05 марта 2012

Эквивалент Python для применения Схемы состоит в использовании * и / или ** префиксов в аргументах.

Например:

>>> my_list = [1, 2]
>>> operator.add(*my_list)
3

Префикс * используется в последовательности для позиционных аргументов, а префикс ** используется в словаре для аргументов ключевых слов. (Это отражает их использование в объявлениях формальных параметров.)

2 голосов
/ 05 марта 2012

Хотя распаковка аргумента (как показано в аргументе Лоуренса) является правильным способом сделать то, что вы хотите (т. Е. Он считается лучшим стилем Python), точный Python, эквивалентный apply Схемы, технически, Python apply, хотя это и устарело.

...