【发布时间】:2020-05-15 11:03:46
【问题描述】:
假设有一个看起来像这样的列表/字符串 - a = 'erik ffffffffff f f f f f '。
通过b = a.split(),我可以获得包含特定“单词”的列表。此列表中的字符总数为sum([len(i) for i in b]),即19。
现在,我非常坚持有效地想出一种方法来拉伸这个列表,以便通过在单词之间插入空格来将结果字符串“对齐”到一定的宽度。假设所需的宽度是 30。那么结果应该类似于c = 'erik ffffffffff f f f f f',只是一个与数字字符(宽度)对齐的字符串,例如在 Word 中。
我的想法是这样的(不工作):
a = 'erik ffffffffff f f f f f '
width = 30
b = a.split()
c = b.copy()
print(b)
spaces = width - sum([len(i) for i in b])
for i, item in cycle(enumerate(c)):
print(i, item)
if spaces == 0:
break
c[i] = item + ' '
spaces -= 1
print(spaces)
print(c)
sum([len(i) for i in c])
【问题讨论】:
-
@Jona 谢谢你,但那里的实现更进一步。例如,我知道字符串本身少于 30 个字符。因此,插入空格是一件简单的事情,但不知何故,我无法做到。