답변:
myfun(*some_tuple)
요청한 내용을 정확하게 수행합니다. *
오퍼레이터는 단순히 튜플 (또는 반복 가능한)를 풀어서 함수의 인수 위치로 전달한다. 인수 풀기 에 대해 자세히 알아보십시오 .
인수 목록의 일부를 확장 할 수도 있습니다.
myfun(1, *("foo", "bar"))
some_func(*tuple_of_stuff, another_argument)
def func(a,b,c,d): print(a,b,c,d)
withargs = ('fee', 'fi', 'fo'); func(*args, 'fum')
이것이 함수형 프로그래밍 방법입니다. 구문 설탕에서 튜플 확장 기능을 해제합니다.
apply_tuple = lambda f, t: f(*t)
사용법 예 :
from toolz import *
from operator import add, eq
apply_tuple = curry(apply_tuple)
thread_last(
[(1,2), (3,4)],
(map, apply_tuple(add)),
list,
(eq, [3, 7])
)
# Prints 'True'
카레 재정의는 apply_tuple
장기적으로 많은 partial
통화 를 저장 합니다.
lambda f, t: f(*t)
는 타사 모듈을 사용하지 않으며 Python 초보자이며 이것이 도움이됩니다. 이것은 순수한 기능적 접근입니다. 이 스타일을 사용하지 않으면이 답변이 적합하지 않습니다.