my_list = ['one', 'two', 'three', 'four', 'five', 'six', 'seven']


使用python,我需要将列表显示为:

one, two, three
four, five, six
seven


我需要灵活一些,因为列表会经常更改。

最佳答案

您可以从itertools使用石斑鱼recipe

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

08-24 22:57