Python将名称的名称传递给函数

时间:2017-07-19 00:49:02

标签: python list

names=['abcd','efgh']
nameoflist='names'

def(nameoflist=[]):
    return nameoflist

我希望能够从函数

返回整个列表

2 个答案:

答案 0 :(得分:0)

假设名称是问题中指定的全局名称,则可以执行此操作

names=['abcd','efgh']
nameoflist='names'

def return_names(nameoflist):
    return globals()[nameoflist]

然而,这非常难看,我可能会尝试另一种方式来做到这一点。你需要什么名字?有没有其他方法来获取您要求的信息?

答案 1 :(得分:0)

这种做你要求的方法。但这不是很好的编程。

names=['abcd','efgh']
def list_by_name(list_name):
  return eval(list_name)
print(list_by_name('names'))

此外,参数list_name应该是一个字符串。它不应该默认为一个列表,如果没有参数调用它会使函数失败。它不应该有默认值。

相关问题