如何从Python函数返回一个字典?
任何对象,如字典,都可以作为Python函数的返回值。在函数体中创建字典对象,将其分配给任何变量,并将字典返回给函数的调用者。
在字典中,数据值以 键:值 对的形式存储。Python字典是一个有序、可更改且禁止重复的集合。
本文将讨论从Python函数返回字典的各种方法。
使用字典生成器
一行Python代码可以使用简单且高效的方式,即字典生成器来创建和初始化字典。字典生成器由表达式和上下文两个组成。表达式指定 键-值 映射关系。上下文通过使用单行for循环迭代一个可迭代对象,指定在新字典中包含哪些( 键 , 值 )对。
示例
以下示例展示了如何应用特定的表达式来得到循环变量”x”存储的 键-值 映射,同时在指定的上下文”for x in range(6)”中迭代所有元素。在这个实例中,它是 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关键字后面可以跟一个可选的返回值。任何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'}