Поверните 2D-матрицу/список Python в таблицу

Как я могу это сделать:

students = [("Abe", 200), ("Lindsay", 180), ("Rachel" , 215)]

в это:

Abe 200

Lindsay 180

Rachel 215

EDIT: это должно работать в любом списке размеров.

3 ответа

Использовать форматирование строк:

>>> students = [("Abe", 200), ("Lindsay", 180), ("Rachel" , 215)]
>>> for a, b in students:
... print '{:<7s} {}'.format(a, b)
...
Abe 200
Lindsay 180
Rachel 215


Используйте rjust и ljust:

for s in students:
 print s[0].ljust(8)+(str(s[1])).ljust(3)

Вывод:

Abe 200
 Lindsay 180
 Rachel 215


EDIT: кто-то изменил ключевую деталь вопроса A श wini च haudhary дает отличный ответ. Если вы не в состоянии изучать/использовать string.format прямо сейчас, то более универсальный/алгоритмический способ решения проблемы таков:

for (name, score) in students:
 print '%s%s%s\n'%(name,' '*(10-len(name)),score)

licensed under cc by-sa 3.0 with attribution.