Преобразовать список списков в строку с разделителями - PullRequest
7 голосов
/ 22 мая 2009

Как мне сделать следующее в Python 2.2, используя только встроенные модули?

У меня есть список таких списков:
[['' dog ', 1], [' cat ', 2,' a '], [' rat ', 3, 4], [' bat ', 5]]

И из этого я хотел бы создать строковое представление таблицы, подобной этой, где столбцы разделены символами табуляции, а строки - символами новой строки.

dog 1
cat 2   a
rat 3   4
bat 5

т.е.
'Собака \ t1 \ NCAT \ t2 \ та \ nrat \ t3 \ t4 \ nbat \ t5'

Ответы [ 2 ]

19 голосов
/ 22 мая 2009

Примерно так:

lists = [['dog', 1], ['cat', 2, 'a'], ['rat', 3, 4], ['bat', 5]]
result = "\n".join("\t".join(map(str,l)) for l in lists)

Это объединяет все внутренние списки, используя вкладки, и объединяет результирующий список строк, используя новые строки.

Он использует функцию под названием понимание списка для обработки внешнего списка.

4 голосов
/ 22 мая 2009
# rows contains the list of lists
lines = []
for row in rows:
    lines.append('\t'.join(map(str, row)))
result = '\n'.join(lines)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...