使用 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 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告