Python - использовать список в качестве параметров функции

Как я могу использовать список Python (например, params = ['a',3.4,None]) в качестве параметров функции, например:

def some_func(a_char,a_float,a_something):
   # do stuff

person Jonathan    schedule 12.02.2011    source источник
comment


Ответы (4)


Вы можете сделать это с помощью оператора splat:

some_func(*params)

Это приводит к тому, что функция получает каждый элемент списка как отдельный параметр. Здесь есть описание: http://docs.python.org/tutorial/controlflow.html#unpacking-argument-lists

person Neil Vass    schedule 12.02.2011

На это уже был дан отличный ответ, но, поскольку я только что зашел на эту страницу и не сразу понял, я просто добавлю простой, но полный пример.

def some_func(a_char, a_float, a_something):
    print a_char

params = ['a', 3.4, None]
some_func(*params)

>> a
person Michael David Watson    schedule 16.04.2013

Используйте звездочку:

some_func(*params)
person Mark Byers    schedule 12.02.2011
comment
В том же духе вы также можете использовать словарь: def f(a, b, c): #do stuff. mydict = {'a':1, 'b':2, 'c':3} f(**mydict) - person inspectorG4dget; 12.02.2011

Вам нужен оператор распаковки аргументов *.

person btilly    schedule 12.02.2011