使用 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 中的容器格式化,並邀請您自行了解更多相關資訊。