在 Python 中,元组是不可变的序列类型,通常用于存储一组相关的数据。要对元组数据进行格式化输出和对齐,可以使用以下几种方法:
str.format()
方法str.format()
方法允许你通过指定格式来格式化输出。你可以使用 :<
、:^
、:>
来分别实现左对齐、居中对齐和右对齐。
data = ("Alice", 25, 80.5)
# 左对齐
print("{:<10} {:<5} {:<5}".format("Name", "Age", "Score"))
print("{:<10} {:<5} {:<5.2f}".format(data[0], data[1], data[2]))
# 右对齐
print("{:>10} {:>5} {:>5}".format("Name", "Age", "Score"))
print("{:>10} {:>5} {:>5.2f}".format(data[0], data[1], data[2]))
# 居中对齐
print("{:^10} {:^5} {:^5}".format("Name", "Age", "Score"))
print("{:^10} {:^5} {:^5.2f}".format(data[0], data[1], data[2]))
f-string 是 Python 3.6 引入的一种更简洁的字符串格式化方法。你可以直接在字符串中嵌入表达式,并使用 :<
、:^
、:>
来对齐。
data = ("Alice", 25, 80.5)
# 左对齐
print(f"{'Name':<10} {'Age':<5} {'Score':<5}")
print(f"{data[0]:<10} {data[1]:<5} {data[2]:<5.2f}")
# 右对齐
print(f"{'Name':>10} {'Age':>5} {'Score':>5}")
print(f"{data[0]:>10} {data[1]:>5} {data[2]:>5.2f}")
# 居中对齐
print(f"{'Name':^10} {'Age':^5} {'Score':^5}")
print(f"{data[0]:^10} {data[1]:^5} {data[2]:^5.2f}")
ljust()
, rjust()
, center()
方法这些方法可以用于字符串的对齐操作。你可以先将元组中的元素转换为字符串,然后使用这些方法进行对齐。
data = ("Alice", 25, 80.5)
# 左对齐
print("Name".ljust(10) + "Age".ljust(5) + "Score".ljust(5))
print(str(data[0]).ljust(10) + str(data[1]).ljust(5) + f"{data[2]:<5.2f}")
# 右对齐
print("Name".rjust(10) + "Age".rjust(5) + "Score".rjust(5))
print(str(data[0]).rjust(10) + str(data[1]).rjust(5) + f"{data[2]:>5.2f}")
# 居中对齐
print("Name".center(10) + "Age".center(5) + "Score".center(5))
print(str(data[0]).center(10) + str(data[1]).center(5) + f"{data[2]:^5.2f}")
tabulate
库如果你需要更复杂的表格格式化输出,可以使用 tabulate
库。这个库可以轻松地将数据格式化为表格形式。
from tabulate import tabulate
data = [("Alice", 25, 80.5), ("Bob", 30, 90.0), ("Charlie", 35, 85.5)]
# 输出表格
print(tabulate(data, headers=["Name", "Age", "Score"], tablefmt="pretty"))
str.format()
和 f-string 是最常用的方法。tabulate
库是一个不错的选择。ljust()
, rjust()
, center()
方法适用于需要对字符串进行简单对齐的场景。根据你的需求选择合适的方法即可。