Image

Imagedrwolf wrote in Imageru_python

Categories:

Странный форматированный вывод python. [РЕШЕНО]

Вывожу в консоли результаты скрипта следующим образом :
for a in result_author:
	print a +  "\t" + result_theme[i]     
	i = i + 1
В итоге вот кусок вывода :
pungens Файловые менеджеры
pungens Музыкальные проигрыватели
Azazello                  Альтернативные оболочки
Евгений Александрович    ICQ for Samsung E-900
Killer  Помогите найти ВЕБ-мастера!!!
Demonss    Psi

Вопрос в следующем - как выравнять все вторые элементы относительно самого длинного первого, ведь видимо в этом заключается косяк ?
Update : Только сейчас заметил - выравнивание скашивается только у русских строк в левом столбике...-=\

РЕШЕНИЕ :
Код вывода теперь такой :

# Переводим полностью весь список авторов в Юникод
result_author = [i.decode('utf8') for i in result_author]
# То же самое делаем и с названиями тем
result_theme = [i.decode('utf8') for i in result_theme]
# Вычисляем самое длинное имя автора
longest = max(map(len,result_author))
# Выводим заголовок
print string.ljust("Автор:", longest + 10) + "Тема:" + "\n"
# Считаем пробелы и выводим результат.
for author, theme in zip(result_author, result_theme):
    spaces = ' '*(longest - len(author) + 5)
    print ''.join([author, spaces, theme])

И сам вывод выглядит так :

Автор:                    Тема:

casper_x                  MacOS X Tiger
Sevensin                  что-то не то с nod32
Fisher                    Поиск софта.
Mad rat                   PHP
Angel NP                  Вопрос по установки видео редакторов
pungens                   Кто чем делает скриншоты?
Sevensin                  ДВД 9 с жесткого диска o_0
Менеджер                  Программа моделирования логических схем