Python fromkeys()函數是一種字典方法,用於創建一個新的字典,其中包含給定序列作為關鍵字,所有值都設置為相同的值。例如,可以使用Python fromkeys()函數在字典中創建一個用於跟蹤每種辭彙出現次數的計數器。
一、創建一個空字典
fromkeys方法最基本的實現是創建一個新的字典,字典中不包含任何的值。要實現這一功能,只需調用fromkeys()函數並提供要創建新字典的鍵。
#例子:創建一個空字典
dict1 = {}.fromkeys(['a','b','c'])
print(dict1)
#結果:{'a': None, 'b': None, 'c': None}
這個例子中,從一個空字典中調用了fromkeys()方法,並將列表[‘a’,’b’,’c’]作為鍵輸入。結果是一個字典,其中每個鍵與一個空值相關聯。
二、創建具有特定的數值的字典
fromkeys函數不僅可以創建空字典,還可以創建一個具有特定數值的字典。在這種情況下,需要傳遞兩個參數。第一個參數是鍵,第二個參數是要和每個鍵相關聯的值。
#例子:創建具有特定數字的字典
dict2 = {}.fromkeys(['a','b','c'],1)
print(dict2)
#結果:{'a': 1, 'b': 1, 'c': 1}
這個例子中,fromkeys()方法創建了一個字典,其中每個鍵都與數字1相關聯。
三、創建具有特定函數作為默認值的字典
另一個有用的用例是將特殊函數設置為字典的默認值。在這種情況下,可以將函數對象作為fromkeys函數的第二個參數。
#例子:創建具有特定函數作為默認值的字典
def myFunc():
return "default"
dict3 = {}.fromkeys(['a','b','c'],myFunc())
print(dict3)
#結果:{'a': 'default', 'b': 'default', 'c': 'default'}
在這個例子中,fromkeys()函數創建了一個字典,其中每個鍵與函數執行的結果返回的字元串「default」相關聯。
四、從其它對象或iterable中創建字典
Python fromkeys()函數還可以通過將iterable對象作為參數傳遞來實現更高級別的字典創建。在這種情況下,必須從iterable對象中提取鍵,並可以將一個可選值參數傳遞到方法中。
#例子:從iterable中創建字典
dict4 = dict.fromkeys(range(1, 4), 'fruit')
print(dict4)
#結果:{1: 'fruit', 2: 'fruit', 3: 'fruit'}
在這個例子中,將range對象作為參數傳遞給fromkeys()函數以創建一個鍵範圍從1到3的字典,每個鍵都與「fruit」值相關聯。
五、使用dict類的調用方法進行字典創建
Python fromkeys()函數是在dict類之上實現的,因此可以通過為類調用方法來使用fromkeys()方法。例如,以下代碼片段會將fromkeys()方法嵌套在dict()構造函數中,創建具有包含字典元素的序列的新的字典。
#例子:使用dict類調用fromkeys函數進行字典創建
dict5 = dict.fromkeys(['name1','name2','name3'], 'fruit')
print(dict5)
#結果:{'name1': 'fruit', 'name2': 'fruit', 'name3': 'fruit'}
在這個最後一個例子中,Python fromkeys()函數是如何創建一個包含列表元素的字典,與第二個例子中的創建具有特定的數字表示的字典很相似。
綜上所述,Python fromkeys()函數可以實現字典中創建元素與元素具有相同值的多種方式,從空字典到具有特定函數作為默認值的字典,並可以從多種其他對象和可迭代類型創建。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/196234.html