在Python的世界里,让列对齐的方法有很多,今天就来给大家详细讲解一下,无论是美化输出结果,还是为了让数据一目了然,掌握列对齐技巧都是非常有用的,让我们一起探索这个有趣的话题吧!
我们要了解Python中的字符串格式化方法,这里主要有两种:一种是传统的 操作符,另一种是更现代的 str.format() 方法,还有最新的f-string(格式化字符串字面量),但今天我们主要讲解前两种方法。
操作符
使用 操作符进行列对齐时,我们可以通过以下方式:
- 左对齐:
%-10s表示宽度为10,左对齐 - 右对齐:
%10s表示宽度为10,右对齐 - 居中对齐:
%10.10s表示宽度为10,居中对齐,如果字符串长度小于10,则两边用空格填充
下面是一个简单的例子:
name = ["Alice", "Bob", "Charlie"]
age = [24, 30, 18]
for i in range(len(name)):
print("%-10s %10d" % (name[i], age[i]))
输出结果:
Alice 24
Bob 30
Charlie 18
str.format() 方法
使用 str.format() 方法进行列对齐时,我们可以通过以下方式:
- 左对齐:
{:<10}表示宽度为10,左对齐 - 右对齐:
{:>10}表示宽度为10,右对齐 - 居中对齐:
{:^10}表示宽度为10,居中对齐
下面是一个简单的例子:
name = ["Alice", "Bob", "Charlie"]
age = [24, 30, 18]
for i in range(len(name)):
print("{:<10} {:>10}".format(name[i], age[i]))
输出结果:
Alice 24
Bob 30
Charlie 18
进阶用法
了解了基本对齐方法后,我们还可以进行一些进阶操作,如:
-
指定填充字符:在格式化字符串中,可以指定填充字符,
{:\_^10}, 后面的_表示填充字符,这里使用下划线 -
保留小数位数:对于浮点数,可以指定小数位数,
{:.2f}表示保留两位小数
下面是一个进阶例子:
name = ["Alice", "Bob", "Charlie"]
score = [92.345, 78.912, 86.567]
for i in range(len(name)):
print("{:<10} {:>10.2f}".format(name[i], score[i]))
输出结果:
Alice 92.35
Bob 78.91
Charlie 86.57
看到这里,相信你已经掌握了Python中的列对齐技巧,在实际应用中,我们可以根据需求选择合适的方法,让输出结果更加美观,下面再分享一个实用的表格打印例子:
headers = ["Name", "Age", "Score"]
data = [
["Alice", 24, 92.345],
["Bob", 30, 78.912],
["Charlie", 18, 86.567]
]
# 打印表头
for header in headers:
print("{:^10}".format(header), end='')
print()
# 打印数据
for row in data:
for item in row:
if isinstance(item, str):
print("{:^10}".format(item), end='')
else:
print("{:^10.2f}".format(item), end='')
print()
输出结果:
Name Age Score
Alice 24 92.345
Bob 30 78.912
Charlie 18 86.567
通过以上讲解,相信你已经对Python中的列对齐有了深入了解,在实际编程过程中,灵活运用这些技巧,可以让你的代码输出更加赏心悦目,快去试试吧!

