Python print 字符串对齐输出教程

1. 介绍

在Python中,通过print函数可以将字符串输出到屏幕上。有时候我们需要将输出的字符串进行对齐,以便更好地呈现数据。本文将教会你如何使用Python来实现字符串对齐输出。

2. 实现步骤

下面是整个实现过程的步骤概览,我们将通过一个表格来展示:

journey
    title 实现步骤
    section 准备数据
    section 计算字符串长度
    section 格式化字符串
    section 输出结果

现在让我们逐步解释每一步需要做什么,以及需要使用的代码。

2.1 准备数据

首先,我们需要准备需要对齐输出的字符串数据。假设我们有一个包含姓名和年龄的列表,如下所示:

姓名 年龄
Peter 25
Alice 30
Bob 28
Claire 35

我们可以使用Python的列表来表示这个数据,代码如下:

data = [
    ["Peter", 25],
    ["Alice", 30],
    ["Bob", 28],
    ["Claire", 35]
]

2.2 计算字符串长度

接下来,我们需要计算每个字符串的长度,以便确定对齐的宽度。我们可以使用Python的内置函数len()来计算字符串的长度。要计算每个字符串的长度,我们可以使用双层循环来遍历数据列表,并将每个字符串的长度存储在一个新的列表中。代码如下:

lengths = []
for entry in data:
    for item in entry:
        lengths.append(len(str(item)))

上述代码中,lengths列表将包含所有字符串的长度。

2.3 格式化字符串

在这一步中,我们将使用字符串的格式化功能来对齐输出。Python的字符串格式化功能允许我们在字符串中插入变量,并指定宽度、对齐方式等格式选项。下面是一些用于对齐输出的常用格式选项:

格式选项 描述
< 左对齐
> 右对齐
^ 居中对齐
= 将填充字符放在符号之后而不是之前

为了对齐输出,我们可以使用这些格式选项并将其与字符串的宽度结合使用。下面是一个示例代码,它将对齐输出数据的姓名和年龄列:

for entry in data:
    name = entry[0].ljust(max(lengths), " ")
    age = str(entry[1]).rjust(max(lengths), " ")
    print(f"{name} | {age}")

上述代码中,ljust()函数用于在字符串的右侧填充空格,rjust()函数用于在字符串的左侧填充空格。通过将宽度参数设置为字符串长度列表的最大值,我们可以确保所有字符串都有相同的宽度。

2.4 输出结果

最后,我们只需使用print()函数输出对齐后的字符串。在上一步中,我们已经将对齐后的字符串存储在nameage变量中,所以我们只需将它们以适当的格式输出。代码如下:

for entry in data:
    name = entry[0].ljust(max(lengths), " ")
    age = str(entry[1]).rjust(max(lengths), " ")
    print(f"{name} | {age}")

3. 完整代码

下面是完整的代码示例:

data = [
    ["Peter", 25],
    ["Alice", 30],
    ["Bob", 28],
    ["Claire", 35]
]

lengths = []
for entry in data:
    for item in entry:
        lengths.append(len(str(item)))

for entry in data:
    name = entry[0].ljust(max(lengths), " ")
    age = str(entry[1]).rjust(max(lengths), " ")
    print(f"{name} | {