首页 > 解决方案 > 如何防止字符串之间不同大小的空格?

问题描述

这可能是一个非常模糊的问题,所以我会尽力解释最好的方式。假设我有 2 个变量(长度不同)

variable_one = "John Doe"
variable_two = "Thomas Smith"

在不知道字符串的确切长度的情况下,我将如何打印它们以使输出在每个变量之间始终保持间隔?例如,如果我将它们正常打印出来,中间有东西:

print(variable_one + " - Age: 40")
print(variable_two + " - Age: 2")

输出将是:

John Doe - Age: 40
Thomas Smith - Age: 2

我将如何自动使输出与空格一致,使其看起来像这样:

John Doe      -      Age: 40
Thomas Smith  -      Age: 2

谢谢:)~皮特

标签: pythonstringformatting

解决方案


尝试使用格式:

print('{0:12s} - Age {1:<d}'.format(var, age))

12在这种情况下是您希望名称占用多少空间(在右侧填充空格以填充额外空间)。

如果您使用的是 python3.6 或更高版本,您还可以使用格式化字符串:

print(f'{var:12s} - Age {age:<d}')

以上应该与使用格式相同,但我发现它更具可读性。

此外,格式化字符串和格式的文档:https://docs.python.org/2/library/string.html#format-specification-mini-language,如果这里没有答案,应该可以调整格式正是你想要的。


推荐阅读