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

时间:2013-10-19 10:36:08

标签: python dictionary

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

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

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

2 个答案:

答案 0 :(得分:2)

首先,澄清你想要的是使用字典或元组,然后不使用dict,它是用于定义字典的Python名称。是的,您可以检索字典的值:

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

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

返回:

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

答案 1 :(得分:1)

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

>>> 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'}