插件窝 干货文章 Python 中如何对元组数据进行格式化输出与对齐

Python 中如何对元组数据进行格式化输出与对齐

对齐 data 格式化 print 747    来源:    2025-03-13

在 Python 中,元组是不可变的序列类型,通常用于存储一组相关的数据。要对元组数据进行格式化输出和对齐,可以使用以下几种方法:

1. 使用 str.format() 方法

str.format() 方法允许你通过指定格式来格式化输出。你可以使用格式说明符来控制对齐方式。

data = ("Alice", 25, 80.5)

# 左对齐
print("{:<10} {:<5} {:<8}".format("Name", "Age", "Weight"))
print("{:<10} {:<5} {:<8}".format(data[0], data[1], data[2]))

# 右对齐
print("{:>10} {:>5} {:>8}".format("Name", "Age", "Weight"))
print("{:>10} {:>5} {:>8}".format(data[0], data[1], data[2]))

# 居中对齐
print("{:^10} {:^5} {:^8}".format("Name", "Age", "Weight"))
print("{:^10} {:^5} {:^8}".format(data[0], data[1], data[2]))

2. 使用 f-string(Python 3.6+)

f-string 是 Python 3.6 引入的一种更简洁的字符串格式化方法。你可以直接在字符串中嵌入表达式,并使用格式说明符来控制对齐。

data = ("Alice", 25, 80.5)

# 左对齐
print(f"{'Name':<10} {'Age':<5} {'Weight':<8}")
print(f"{data[0]:<10} {data[1]:<5} {data[2]:<8}")

# 右对齐
print(f"{'Name':>10} {'Age':>5} {'Weight':>8}")
print(f"{data[0]:>10} {data[1]:>5} {data[2]:>8}")

# 居中对齐
print(f"{'Name':^10} {'Age':^5} {'Weight':^8}")
print(f"{data[0]:^10} {data[1]:^5} {data[2]:^8}")

3. 使用 % 格式化操作符

% 格式化操作符是 Python 中较旧的格式化方法,但仍然可以使用。

data = ("Alice", 25, 80.5)

# 左对齐
print("%-10s %-5d %-8.2f" % data)

# 右对齐
print("%10s %5d %8.2f" % data)

4. 使用 tabulate

如果你需要更复杂的表格输出,可以使用 tabulate 库。这个库可以轻松地将数据格式化为表格形式。

首先,你需要安装 tabulate 库:

pip install tabulate

然后可以使用以下代码:

from tabulate import tabulate

data = [("Alice", 25, 80.5), ("Bob", 30, 75.0), ("Charlie", 35, 90.0)]

headers = ["Name", "Age", "Weight"]
print(tabulate(data, headers=headers, tablefmt="pretty"))

总结

  • str.format() 和 f-string 是最常用的格式化方法,适合大多数情况。
  • % 格式化操作符适用于旧代码或简单的格式化需求。
  • tabulate 库适合需要复杂表格输出的场景。

根据你的需求选择合适的方法来格式化输出和对齐元组数据。