Как в Python 2.6 передать объект списка методу, который ожидает список аргументов? - PullRequest
1 голос
/ 23 марта 2009

У меня есть список, полный различной информации, которую я хотел бы передать нескольким строкам для включения с помощью нового метода format string. В качестве примера игрушки давайте определим

thelist = ['a', 'b', 'c']

Я хотел бы сделать заявление для печати, например print '{0} {2}'.format(thelist) и print '{1} {2}'.format(thelist)

Когда я запускаю это, я получаю сообщение IndexError: tuple index out of range; когда дурачится, он явно воспринимает весь список как один объект. Я бы, конечно, скорее перевел бы thelist на 'a', 'b', 'c'.

Я попытался использовать кортеж и получил ту же ошибку.

Как на Земле называется эта конкретная техника? Если бы я знал имя, я бы мог его найти. «Развернуть» явно не так. «Взрываться» ничего полезного не дает.

Мое реальное использование намного дольше и утомительнее, чем пример с игрушкой.

Ответы [ 2 ]

10 голосов
/ 23 марта 2009

.format(*thelist)

Это часть синтаксиса вызова в Python. Я тоже не знаю названия, и я не уверен, что оно есть. См. Учебник .

Он работает не только со списками, но и для любого повторяемого объекта.

2 голосов
/ 23 марта 2009
'{0} {2}'.format(*thelist)

* документы 1003 *

...