How can I dynamically create a name of a variable in Python? [duplicate]

China☆狼群 提交于 2019-12-02 23:43:29

问题


I am having a function in python

def func(dataFrame,country,sex):
    varible_name=dataFrame[(dataFrame['land']==country) & (dataFrame['sex']==sex)]

Now, for example, I call this function

func(dataFrame,'England','M')

I want that variable name be England_M instead of variable_name.


回答1:


You can't do that in Python. What you can do instead is store the results under a dictionary with key = England_M for instance.

In your case, you could do the following :

def func(dataFrame,country,sex):
    tmp = dataFrame[(dataFrame['land']==country) & (dataFrame['sex']==sex)]
    variable_name = "{c}_{s}".format(c=country, s=sex)
    return dict(variable_name=tmp)

Now using it :

results = func(dataFrame, "England", "M")
print(results['England_M'])


来源:https://stackoverflow.com/questions/48622683/how-can-i-dynamically-create-a-name-of-a-variable-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!