2012-03-05 2 views
2

Python에는 scheme의 apply와 동일한 기능이 있습니까? Python의 reduce가 두 개의 인수의 함수에 대해 작동하고 재귀 적으로 적용된다는 것을 알았습니다. 이것은 매우 다릅니다.Scheme에 해당하는 Python 적용

내가 직접 작성해야합니까? 누락 된 모듈이 있습니까?

+2

실제로 필요한 기능을 설명해 주시겠습니까? 우리 모두는 계획을 안다. – delnan

+0

@delnan http://en.wikipedia.org/wiki/Apply – Pubby

답변

5

Scheme의 적용과 동일한 Python은 인수에 * 및/또는 ** 접두어를 사용합니다. 예를 들어

:

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

접두어 위치 인수하는 시퀀스에 사용되며 ** 접두사 키워드 인수 사전에 사용된다.

+0

너무 멋지다! 고마워요! – BlackSheep

2

(Laurence의 인수에서 볼 수 있듯이) 인자를 풀 때 (즉, 가장 좋은 파이썬 스타일이라고 생각되는) 적당한 방법은 있지만, 정확한 파이썬은 다음과 같습니다. Scheme의 apply은 기술적으로 Python의 apply이지만, 현재는 더 이상 사용되지 않습니다.

+0

오랫동안 사용되지 않으므로'apply'에 대해서는 언급하지 않았습니다 : http://www.python.org/dev/peps/pep-0290/#replace-apply-with-a-direct-function- –

+0

나는 단순히'apply()'함수를 찾으러 갔다면 찾았을 것이기 때문에 (문서가 새로운 개선 된 방법을 지적했기 때문에) 지적 할 가치가 있다고 느꼈다. – kindall

+0

그는 아마도 더 이상'apply' 함수를 가지고 있지 않은 파이썬 3을 사용하고있을 것입니다. –

관련 문제