source

여러 인수로 기능하는 함수에 목록 전달

gigabyte 2022. 10. 19. 21:07
반응형

여러 인수로 기능하는 함수에 목록 전달

아이템 리스트를 기대하는 함수에서 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_listPython은 지정된 오브젝트를 루프하여 각 요소를 함수에 대한 개별 인수로 사용합니다.

콜 표현의 메뉴얼을 참조해 주세요.

두 개의 별을 사용하는 키워드 파라미터도 있습니다.

kwargs = {'foo': 'bar', 'spam': 'ham'}
f(**kwargs)

함수 시그니처의 catch-all 인수를 지정하기 위한 동등한 구문이 있습니다.

def func(*args, **kw):
    # args now holds positional arguments, kw keyword arguments

Python 3.5부터 무제한의 언팩을 할 수 있습니다.lists.

PEP 448 - 기타 포장의 일반화

이 방법은 다음과 같습니다.

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

언급URL : https://stackoverflow.com/questions/3480184/pass-a-list-to-a-function-to-act-as-multiple-arguments

반응형