格式列表取决于其中的项目数

时间:2016-03-18 19:11:28

标签: python dynamic format

我知道必须有一种简单的方法可以在不导入模块的情况下执行此操作,但我无法找到它。

无论我的列表中有多少项,我希望能够保持相同的格式。因此,对于我的列表中的每个项目,它将添加另一个{:^ 3}。

list = [1, 2, 3, 4, 5]

print("| {:^3}{:^3}{:^3}{:^3}{:^3}\n".format(*list))

最简单的方法是什么?

2 个答案:

答案 0 :(得分:3)

最简单的方法是使用"".join函数和列表推导,它对数组中的每个项执行某些操作,然后获取数组的字符串表示。

>>> print("| " + "".join(["{:^3}".format(x) for x in list]) + "\n")
|  1  2  3  4  5

这会将"{:^3}".format(x)应用于list中的每个项目,其中x是当前项目。然后,它使用"".join将列表项作为没有分隔符的字符串,例如:

>>> "".join(["1", "2", "3"])
'123'

另一个注意事项:您不应该使用名为list的变量,因为list是Python中的内置函数。

答案 1 :(得分:0)

python中的join函数非常有用,特别是对于这样的事情:

("| "+"".join(["{:^3}" for _ in list]) + "\n").format(*list)

相关问题