Добавить кортеж в список - PullRequest
       9

Добавить кортеж в список

2 голосов
/ 25 августа 2009

Учитывая кортеж (в частности, функции varargs), я хочу добавить в начало список, содержащий один или несколько элементов, а затем вызвать другую функцию с результатом в виде списка. Пока что лучшее, что я придумал, это:

def fn(*args):
    l = ['foo', 'bar']
    l.extend(args)
    fn2(l)

Что, учитывая обычную краткость Питонов, когда дело доходит до такого рода вещей, кажется, что занимает на 2 строки больше, чем следовало бы. Есть ли более питонический путь?

Ответы [ 2 ]

9 голосов
/ 25 августа 2009

Вы можете преобразовать кортеж в список, что позволит вам объединить его с другим списком. то есть:

def fn(*args):
    fn2(['foo', 'bar'] + list(args))
1 голос
/ 25 августа 2009

Если ваш fn2 также принимает varargs, вам не нужно создавать комбинированный список:

def fn2(*l):
    print l

def fn(*args):
    fn2(1, 2, *args)

fn(10, 9, 8)

производит

(1, 2, 10, 9, 8)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...