【发布时间】:2014-06-22 02:58:04
【问题描述】:
我有一个如下所示的列表项:
dblist=['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve']
它可能有超过 12 个项目(可能是无限的)。 我想以五人一组的形式打印此列表,并希望我的输出如下所示:
env1: one two three four five
env2: six seven eight nine ten
env3: eleven twelve
我怎样才能做到这一点?
我发现了一些看起来能够完成这项工作的好技巧,但我似乎无法让它与我的代码一起工作。例如,以下似乎可以做我想做的事:
def n_split(iterable, n, fillvalue=None):
num_extra = len(iterable) % n
zipped = zip(*[iter(iterable)] * n)
return zipped if not num_extra else zipped + [iterable[-num_extra:], ]
for ints in n_split(range(1,32), 5):
print(([str(i) for i in ints]))
具有以下输出:
['1', '2', '3', '4', '5']
['6', '7', '8', '9', '10']
['11', '12', '13', '14', '15']
['16', '17', '18', '19', '20']
['21', '22', '23', '24', '25']
['26', '27', '28', '29', '30']
['31', '32', '33']
我如何使用这种技术以五个一组的方式打印 dblist,如开头所示?
【问题讨论】:
标签: python list python-2.7 split iterator