Этого ответ использует тот же метод в ответе по @Aaron Digulla, с немного более вещим синтаксисом. Это может сделать некоторые из вышеперечисленных ответов более понятными.
>>> for a,b,c in zip(foolist[::3],foolist[1::3],foolist[2::3]):
>>> print '{:<30}{:<30}{:<}'.format(a,b,c)
exiv2-devel mingw-libs tcltk-demos
fcgi netcdf pdcurses-devel
msvcrt gdal-grass iconv
qgis-devel qgis1.1 php_mapscript
Это можно легко адаптировать к любому числу столбцов или переменных столбцов, что привело бы к чему-то вроде ответа по @gnibbler. Интервал можно настроить на ширину экрана.
Обновление: возможно,
Индексирование
foolist[::3]
выбирает каждый третий элемент foolist
. foolist[1::3]
выбирает каждый третий элемент, начиная со второго элемента ('1', потому что python использует нулевое индексирование).
In [2]: bar = [1,2,3,4,5,6,7,8,9]
In [3]: bar[::3]
Out[3]: [1, 4, 7]
почтового
Архивирование списки (или другие итерируемые) генерируют кортежи элементов списков. Например:
In [5]: zip([1,2,3],['a','b','c'],['x','y','z'])
Out[5]: [(1, 'a', 'x'), (2, 'b', 'y'), (3, 'c', 'z')]
вместе
Подставив эти идеи вместе мы получаем наше решение:
for a,b,c in zip(foolist[::3],foolist[1::3],foolist[2::3]):
Здесь мы первый генерировать три «ломтики» из foolist
, каждый из которых индексируются каждой трети -элемент и смещение на единицу. Индивидуально каждый из них содержит только одну треть списка.Теперь, когда мы застегиваем эти срезы и итерации, каждая итерация дает нам три элемента: foolist
.
Что, что мы хотели:
In [11]: for a,b,c in zip(foolist[::3],foolist[1::3],foolist[2::3]):
....: print a,b,c
Out[11]: exiv2-devel mingw-libs tcltk-demos
fcgi netcdf pdcurses-devel
[etc]
Вместо:
In [12]: for a in foolist:
....: print a
Out[12]: exiv2-devel
mingw-libs
[etc]
Во-первых, это не очень хорошая идея использовать Dict в качестве имени переменной Во-вторых, что вы пытаетесь для печати здесь есть список, dict использует {} и: для разделения ключей и значений –
-1: Название вопроса говорит «список» - полное дублирование. В вопросе говорится «dict». Образец кода - это список - полное дублирование. Вы хотите, чтобы список преобразовывался в dict и печатался? Если да, исправьте вопрос, чтобы описать то, что вы действительно хотите. –
Я скорректировал описание и пример кода в соответствии с рекомендациями. Название и описание теперь отражают мою цель. Спасибо за исправления. –