my_list = ['one', 'two', 'three', 'four', 'five', 'six', 'seven']
使用 python,我需要将列表显示为:
one, two, three
four, five, six
seven
我需要它灵活,因为列表会经常更改。
my_list = ['one', 'two', 'three', 'four', 'five', 'six', 'seven']
使用 python,我需要将列表显示为:
one, two, three
four, five, six
seven
我需要它灵活,因为列表会经常更改。
您可以使用 itertools 中的石斑鱼配方:
def grouper(n, iterable, fillvalue=None):
"grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return izip_longest(fillvalue=fillvalue, *args)
像这样使用:
for line in grouper(3, my_list):
print ', '.join(filter(None, line))
在线查看它:ideone
def matprint(L, numcols):
for i,item in enumerate(L):
print item,
if i and not (i+1)%numcols:
print '\n',
>>> my_list = ['one', 'two', 'three', 'four', 'five', 'six', 'seven']
>>> matprint(my_list, 3)
one two three
four five six
seven