在python中打印时,如何填充列表?
例如,我有以下列表:
mylist = ['foo', 'bar']我想把这个填充物打印成四个带逗号的索引。我知道我可以执行以下操作来获得逗号和空格分隔的列表:
', '.join(mylist)但我如何用‘x’将它填充到四个索引中,因此输出如下:
foo, bar, x, x发布于 2011-10-10 22:33:58
In [1]: l = ['foo', 'bar']
In [2]: ', '.join(l + ['x'] * (4 - len(l)))
Out[2]: 'foo, bar, x, x'['x'] * (4 - len(l))产生包括填充所需的正确数目的'x'条目的列表。
,,这里有一个问题,如果len(l) > 4,会发生什么。在本例中为['x'] * (4 - len(l)) results in an empty list,不出所料。
发布于 2011-10-10 22:37:14
使用itertools的另一种可能性:
import itertools as it
l = ['foo', 'bar']
', '.join(it.islice(it.chain(l, it.repeat('x')), 4))发布于 2011-10-10 23:17:37
基于itertools的grouper()配方
>>> L = ['foo', 'bar']
>>> ', '.join(next(izip_longest(*[iter(L)]*4, fillvalue='x')))
'foo, bar, x, x'它可能属于“不要在家里尝试”这一类。
https://stackoverflow.com/questions/7714287
复制相似问题