打印无括号、无引号、无逗号和额外间距的列表

2024-05-15 11:24:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个属性列表attrlist[],在我的代码中我一直在附加字符串。如何在没有括号、引号和逗号的情况下,以适当的间距打印此列表?我的意思是:

当前代码:

print('[%s]' % ', '.join(map(str, attrlist)))

我的输出:

^{pr2}$

我希望程序输出:

1   bomb            C4        red        evil yup ...

从'1'开始到'bomb'之前的空格是4格 “炸弹”的开头一直到“C4”之前的最后一个空格是16格。 “C4”的开头一直到“红色”之前的最后一个空格是10个空格。 “红”到“恶”之前的空格是11格。在

数组将更改,因此“1”可能是“222”,但仍总共占用4个空间。同样的炸弹,C4,红色(又名名字,地点,颜色)。不过,在这之后,关键字不必间隔,只需在中间加一个空格就可以了。在

非常感谢你的帮助。非常感谢。顺便说一下,我是为一个安装在raspberry pi上,运行python2.7.10的工具组织系统而做的。在


Tags: 字符串代码列表属性情况引号括号炸弹
2条回答

这无论如何都不会有效率,但这里有一个解决方案:

attrlist = [1, 'bomb', 'C4', 'red', 'evil', 'yup', 'puppy'] #this list needed a puppy
lengthlist = [4, 16, 10, 11]

ans = ''
for attr, length in zip(attrlist, lengthlist):
    ans += format(attr, '<{}'.format(length))

ans += ' '.join(map(str, attrlist[len(lengthlist):]))

print(ans)

您可以在docs中看到字符串格式规则

好吧,括号和逗号很容易去掉,只要在代码中去掉它们就行了。在

print(' '.join(map(str, attrlist)))

但既然您想要自定义间距,就应该查看^{}。它使用特殊的format string syntax。在

^{pr2}$

相关问题 更多 >