여기에 ‘풀어 넣기’가 잘못된 단어 일 수 있다고 생각합니다.이 질문은 중복 질문이므로 확실합니다.
내 질문은 매우 간단합니다. 항목 목록을 기대하는 함수에서 오류없이 Python 목록 항목을 전달하는 방법은 무엇입니까?
my_list = ['red', 'blue', 'orange']
function_that_needs_strings('red', 'blue', 'orange') # works!
function_that_needs_strings(my_list) # breaks!
분명히 목록을 확장 'red','blue','orange'
하고 발굽에 기능 을 전달할 수있는 방법이 있어야 합니까?
답변
function_that_needs_strings(*my_list) # works!
답변
예, *args
(splat) 구문을 사용할 수 있습니다 .
function_that_needs_strings(*my_list)
my_list
반복 가능한 곳 은 어디 입니까? 파이썬은 주어진 객체를 반복하고 각 요소를 함수에 대한 별도의 인수로 사용합니다.
호출 식 설명서를 참조하십시오 .
별표 2 개를 사용하는 키워드 매개 변수도 있습니다.
kwargs = {'foo': 'bar', 'spam': 'ham'}
f(**kwargs)
그리고 함수 서명에서 catch-all 인수를 지정하는 동등한 구문 이 있습니다.
def func(*args, **kw):
# args now holds positional arguments, kw keyword arguments
답변
Python 3.5부터 무제한의 압축을 풀 수 있습니다 list
s를 .
그래서 이것은 작동합니다 :
a = ['1', '2', '3', '4']
b = ['5', '6']
function_that_needs_strings(*a, *b)