如何從 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'}

更新於: 2023年8月27日

36K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告