首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中的Pad列表

Python中的Pad列表
EN

Stack Overflow用户
提问于 2011-10-10 22:30:49
回答 3查看 1.7K关注 0票数 6

在python中打印时,如何填充列表?

例如,我有以下列表:

代码语言:javascript
复制
mylist = ['foo', 'bar']

我想把这个填充物打印成四个带逗号的索引。我知道我可以执行以下操作来获得逗号和空格分隔的列表:

代码语言:javascript
复制
', '.join(mylist)

但我如何用‘x’将它填充到四个索引中,因此输出如下:

代码语言:javascript
复制
foo, bar, x, x
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-10 22:33:58

代码语言:javascript
复制
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,不出所料。

票数 10
EN

Stack Overflow用户

发布于 2011-10-10 22:37:14

使用itertools的另一种可能性:

代码语言:javascript
复制
import itertools as it

l = ['foo', 'bar']

', '.join(it.islice(it.chain(l, it.repeat('x')), 4))
票数 3
EN

Stack Overflow用户

发布于 2011-10-10 23:17:37

基于itertoolsgrouper()配方

代码语言:javascript
复制
>>> L = ['foo', 'bar']
>>> ', '.join(next(izip_longest(*[iter(L)]*4, fillvalue='x')))
'foo, bar, x, x'

它可能属于“不要在家里尝试”这一类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7714287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档