繁体   English   中英

将函数的返回值放入字典中

[英]Put function's return values into a dictionary

dic = {}
def myfunc():
    return 4,"MyName"

x,y = myfunc()
dic[x] = y

有没有办法将5和6行写在一行中?

首先,弄清您要使用的是字典还是元组,然后不要使用dict ,这是用于定义字典的Python名称。 是的,您可以检索字典的值:

mydict = {'foo':'value'}
def myfunc():
    return 4,"MyName"

x, mydict[x] = myfunc()
print mydict

返回值:

{'foo': 'value', 4: 'MyName'}

您可以将元组列表与字典构造函数一起使用,如下所示:

>>> values = (4, "MyName")
>>> d = dict([values])
>>> d
{4: 'MyName'}

所以你可以做

>>> d = dict([myfunc()])
>>> d
{4: 'MyName'}

如果您已有要更新的字典,则可以执行以下操作:

>>> dct = {'foo': 'bar'}
>>> dct.update(dict([myfunc()]))
>>> dct
{'foo': 'bar', 4: 'MyName'} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM