简单列表格式化
# 基本列表格式化
numbers = [12, 45, 78, 34, 56]
formatted = ", ".join("{:03d}".format(num) for num in numbers)
print(formatted) # 输出: 012, 045, 078, 034, 056
这里我们使用"{:03d}"
格式说明符,确保每个数字都显示为三位数(不足前面补零)。
全面指南:从基础到高级技巧
在Python编程中,我们经常需要将列表数据以更美观、易读的方式展示给用户。使用format()
方法可以轻松实现:
# 基本列表格式化
numbers = [12, 45, 78, 34, 56]
formatted = ", ".join("{:03d}".format(num) for num in numbers)
print(formatted) # 输出: 012, 045, 078, 034, 056
这里我们使用"{:03d}"
格式说明符,确保每个数字都显示为三位数(不足前面补零)。
# 带标题的格式化
fruits = ["Apple", "Banana", "Cherry", "Date"]
formatted = "\n".join("{:<10} {:>5}".format(fruit, f"${len(fruit)*1.5:.2f}") for fruit in fruits)
print("水果列表:\n" + formatted)
输出结果:
水果列表: Apple $7.50 Banana $9.00 Cherry $7.50 Date $6.00
# 嵌套列表格式化
students = [
["Alice", 92.5, 4.0],
["Bob", 87.3, 3.7],
["Charlie", 95.1, 4.0],
["Diana", 78.9, 3.4]
]
header = "{:<10} {:>10} {:>10}".format("姓名", "平均分", "GPA")
divider = "-" * 35
rows = "\n".join(
"{:<10} {:>10.1f} {:>10.1f}".format(name, score, gpa)
for name, score, gpa in students
)
print(f"{header}\n{divider}\n{rows}")
输出结果:
姓名 平均分 GPA ----------------------------------- Alice 92.5 4.0 Bob 87.3 3.7 Charlie 95.1 4.0 Diana 78.9 3.4
# 数字格式化示例
data = [1234.5678, 98765.4321, 123.456, 7890.12]
print("科学计数法:")
print("\n".join("{:.3e}".format(x) for x in data))
print("\n千位分隔符:")
print("\n".join("{:,.2f}".format(x) for x in data))
print("\n百分比显示:")
print("\n".join("{:.1%}".format(x/10000) for x in data))
输出结果:
科学计数法: 1.235e+03 9.877e+04 1.235e+02 7.890e+03 千位分隔符: 1,234.57 98,765.43 123.46 7,890.12 百分比显示: 12.3% 987.7% 1.2% 78.9%
格式说明符 | 描述 | 示例 | 输出 |
---|---|---|---|
{:d} |
整数 | format(42, "d") |
42 |
{:.2f} |
保留两位小数 | format(3.14159, ".2f") |
3.14 |
{:>10} |
右对齐(宽度10) | format("text", ">10") |
text |
{:^10} |
居中对齐(宽度10) | format("text", "^10") |
text |
{:,>10d} |
带千位分隔符 | format(1234567, ",d") |
1,234,567 |
{:.2%} |
百分比格式 | format(0.875, ".2%") |
87.50% |
# 销售报告生成示例
sales_data = [
["产品A", 125, 249.99],
["产品B", 89, 159.50],
["产品C", 204, 99.95],
["产品D", 47, 499.00]
]
# 生成报告标题
title = "{:^50}".format("2023年第四季度销售报告")
header = "{:<15} {:>10} {:>15} {:>15}".format("产品", "销量", "单价", "销售额")
divider = "=" * 60
# 生成报告内容
rows = []
total_sales = 0
for product, units, price in sales_data:
sales = units * price
total_sales += sales
rows.append("{:<15} {:>10} {:>15.2f} {:>15,.2f}".format(
product, units, price, sales
))
# 添加总计行
footer = "{:<15} {:>10} {:>15} {:>15,.2f}".format(
"总计", sum(u for _, u, _ in sales_data), "", total_sales
)
# 打印报告
report = "\n".join([title, header, divider] + rows + [divider, footer])
print(report)
输出结果:
2023年第四季度销售报告 产品 销量 单价 销售额 ============================================================ 产品A 125 249.99 31,248.75 产品B 89 159.50 14,195.50 产品C 204 99.95 20,389.80 产品D 47 499.00 23,453.00 ============================================================ 总计 465 89,287.05
本文由HanTeng于2025-08-16发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://521pj.cn/20258306.html
发表评论