如何從 Python 函式中返回字典?
任何物件,例如字典,都可以作為 Python 函式 的返回值。在函式體中建立字典物件,將其分配給任何變數,並將字典返回給函式的呼叫者。
資料值在字典中以鍵:值對的形式儲存。一個 Python 字典 是一個有序的、可更改的集合,並且不允許重複。
在本文中,我們將討論從 Python 函式返回字典的各種方法。
使用字典推導式
一行 Python 程式碼可以使用簡單且記憶體高效的方式(稱為字典推導式)來建立和初始化字典。字典推導式由表示式和上下文兩個部分組成。表示式指定鍵-值對映。上下文透過使用單行 for 迴圈迭代可迭代物件來指定在新字典中包含哪些(鍵,值)對。
示例
以下示例演示瞭如何在迭代指定上下文 "for x in range(6)" 中的所有元素時,應用特定表示式來獲取為迴圈變數 "x" 儲存的鍵:值對映。在本例中,它是鍵值對映 'x:str(x)',它將整數 'x' 對映到其字串表示形式 'str(x)'。
def create_dictionary(): # returning the dictionary return {x:str(x) for x in range(6)} counts = create_dictionary() print('The returned dictionary is:',counts)
輸出
以下是上述程式碼的輸出:
The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}
使用 Lambda 函式
Python 中的 lambda 函式是 匿名函式。它以關鍵字 lambda 開頭,後跟以逗號分隔的零個或多個引數列表、冒號和返回表示式。為了建立和返回新的字典物件,請使用 dict() 函式或花括號 {}。
示例
在以下示例中,lambda 函式將動態建立的函式物件分配給 'create_dictionary' 變數。之後,您可以像在前面的示例中那樣呼叫該函式。
生成器表示式更簡潔,它在一行程式碼中同時建立字典並返回它。
create_dictionary = lambda : {x:str(x) for x in range(6)} counts = create_dictionary() print('The returned dictionary is:',counts)
輸出
以下是上述程式碼的輸出:
The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}
透過 return 語句返回字典
要將函式的結果傳送回撥用方,您可以在函式或方法內部使用 Python return 語句。return 語句中,return 關鍵字後跟一個可選的返回值。任何 Python 物件都可以作為 Python 函式的返回值。
示例
在下面的示例中,我們建立了一個函式“create_dictionary”,用於透過為鍵賦值來建立字典。建立字典後,我們使用 return 語句將其返回。
def create_dictionary(): d = dict(); d['Sachin Tendulkar'] = "Cricket" d['Wayne Gretzky'] = "Hockey" d['Cristiano Ronaldo'] = "Football" d['Novak Djokovic'] = "Tennis" return d print ('The returned dictionary is:',create_dictionary())
輸出
以下是上述程式碼的輸出:
The returned dictionary is: {'Sachin Tendulkar': 'Cricket', 'Wayne Gretzky': 'Hockey', 'Cristiano Ronaldo': 'Football', 'Novak Djokovic': 'Tennis'}