使用 Python 中的 format() 格式化容器


在使用 Python 时,容器样式可以有效提高代码的可读性和可维护性。使用此方法,可以快速轻松地设置列表、元组、字典、集合甚至类的样式。通过使用内置的 format() 方法,可以调整数据的显示方式,例如对齐列、添加填充和设置精度。本文将深入探讨使用 Python 中的 format() 进行容器格式化,包括各种类型的容器以及如何将它们与 format() 函数一起使用。

使用 format() 进行容器格式化

假设我们有一系列数字,希望通过逗号和空格分隔每个数字来组织它们。

示例

my_list = [1, 2, 3, 4, 5]
formatted_list = ', '.join(['{}'.format(x) for x in my_list])
print(formatted_list)

输出

1, 2, 3, 4, 5

在本例中,使用 join() 方法连接带有逗号和空格分隔符的格式化数字集合。枚举中的每个整数值都将替换 format() 方法中的“{}”占位符。

虽然是不可变的,但 元组与列表类似,因为一旦创建,它们的内容就不能更改。在本例中,我们再次使用 join() 方法连接带有逗号和空格的格式化元组组件。

示例

my_tuple = ('apple', 'banana', 'orange')
formatted_tuple = ', '.join(['{}'.format(x) for x in my_tuple])
print(formatted_tuple)

输出

apple, banana, orange

通过组合 字典值和 format() 方法,可以格式化字典。

示例

my_dict = {'name': 'ABCJohn', 'age': 33, 'city': 'Los Angeles'}
formatted_dict = 'Name: {name}, Age: {age}, City: {city}'.format(**my_dict)
print(formatted_dict)

输出

Name: ABCJohn, Age: 33, City: Los Angeles

在本例中,我们使用了与字典中值匹配的 format() 方法占位符。字典使用 **my_dict 语法解包,然后将其内容作为关键字参数传递给 format() 方法。类似地,可以使用 join() 和 format() 函数在集合推导式中编写集合。

示例

my_set = {1, 2, 3, 4, 5}
formatted_set = ', '.join(['{}'.format(x) for x in my_set])
print(formatted_set)

输出

1, 2, 3, 4, 5

也可以这样做

示例

class Person:
   def __init__(self, name, age):
      self.name = name
      self.age = age
my_person = Person('John', 30)
formatted_person = 'Name: {p.name}, Age: {p.age}'.format(p=my_person)
print(formatted_person)

输出

Name: John, Age: 30

将类的实例作为关键字参数传递给 format() 函数是一个可行的解决方案。

自定义选项

除了格式化容器外,format() 函数还提供用于自定义数据显示方式的选项。一些常见的选项包括填充、对齐和精度

例如,要在指定宽度内右对齐文本,可以使用“>”选项。考虑一下我们拥有的字符集合:

my_list = ['apple', 'banana', 'orange']

我们可以使用以下代码将此列表格式化,以便每个字符串都在宽度为 10 的字段中右对齐:

示例

my_list = ['apple', 'banana', 'orange']
for fruit in my_list:
   print('{:>10}'.format(fruit))

输出

apple
banana
orange

可以使用“<”选项和“^”选项分别在框内居中左对齐行。精度选择是另一个有用的选项,它允许我们选择小数点后显示多少位数字。考虑一个浮点值的集合作为示例:

my_floats = [1.23456, 2.34567, 3.45678]

我们可以使用以下代码将这些数字格式化,以便仅显示小数点后两位数字:

示例

my_floats = [1.23456, 2.34567, 3.45678]
for num in my_floats:
   print('{:.2f}'.format(num))

输出

1.23
2.35
3.46

此外,我们可以将 f-string 和其他文本编辑方法与 format() 结合使用。这使我们能够设计更复杂和灵活的输出行。现在我们知道了如何使用 format() 设置容器样式,让我们来看一个完整的代码块,它演示了 Python 中的容器格式化。

示例

my_dict = {'apple': 1.23, 'banana': 2.34, 'orange': 3.45}
for key, value in my_dict.items():
   print('{:<10}{:.2f}'.format(key, value))

输出

apple     1.23
banana    2.34
orange    3.45

通过使用此代码块,创建一个字典,将三种水果的名称与其相应的值关联起来。for 循环迭代地遍历字典的条目,格式化每个键值对,以便值为小数点后两位数字,键在宽度为 10 的字段中左对齐。使用 format() 进行容器格式化在实际应用中有很多用途。例如,我们可以在数据分析期间使用它来格式化表格或图表。它可用于 Web 编程以用户友好的方式呈现材料。我们可以在自动化中使用它来生成记录或文件。

结论

总而言之,使用 Python 的 format() 函数进行容器格式化是一个强大的工具,使我们能够以灵活且易于理解的方式呈现数据。通过将 format() 函数与各种容器类型和格式化选项结合使用,我们可以生成满足我们特定需求的输出。我相信本文帮助您理解了 Python 中的容器格式化,并邀请您自行了解更多相关信息。

更新于:2023年4月18日

198 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告