将字典值分配给一行中的多个变量(因此我不必运行相同的功能来为每个变量生成字典)



所以我有一个返回字典的函数。问题是,我想将字典的值分配给多个变量,所以我必须多次运行该函数。有没有一种方法可以做到这一点,只运行一次函数?有什么优雅的方法可以做到这一点吗?

def myFunction():
a=1
b=2
c=3
d=4

df_out={"a":a, "b":b,"c":c,"d":d}

a1=myFunction()["a"]
b1=myFunction()["b"]
c1=myFunction()["c"]
d1=myFunction()["d"]

提前感谢!

def myFunction():
a=1
b=2
c=3
d=4
return {"a":a, "b":b,"c":c,"d":d}
a1, b1, c1, d1 = myFunction().values()

将结果分配给一个变量,然后分配每个变量。

d = myFunction()
a1 = d["a"]
b1 = d["b"]
c1 = d["c"]
d1 = d["d"]

我不认为这是一句俏皮话。

您可以使用operator.itemgetter:

from operator import itemgetter
i = itemgetter('a', 'b', 'c', 'd')
a1, b1, c1, d1 = i(myFunction())
print(a1, b1, c1, d1)

最新更新