[python] 파이썬으로 목록을 푸는가?

여기에 ‘풀어 넣기’가 잘못된 단어 일 수 있다고 생각합니다.이 질문은 중복 질문이므로 확실합니다.

내 질문은 매우 간단합니다. 항목 목록을 기대하는 함수에서 오류없이 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를 .

PEP 448-추가 포장 풀기 일반화

그래서 이것은 작동합니다 :

a = ['1', '2', '3', '4']
b = ['5', '6']
function_that_needs_strings(*a, *b)


답변