如何使用另一个数组的元素作为名称在Python中创建数组

use*_*919 0 python list

我试图在python中执行以下操作:我有一个包含一些字符串值的列表.该列表如下所示:

       parameters =  ['RH', 'WindSp_Avg', 'WindDir']
Run Code Online (Sandbox Code Playgroud)

我想做的 - 我真的希望这个问题并不荒谬 - 是创建三个列表,每个列表都有"参数"列表的名称.例如:

         RH = []
         WindSp_Avg = []
         WindDir = []
Run Code Online (Sandbox Code Playgroud)

我是python中的新手,尽管我在网上搜索了一下,但我找不到一些优雅的方法来做这样的事情.

我正在尝试这样的事情:

    for i in parameters:

        parameters[0] = []
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.有什么建议?

谢谢迪米特里斯

fre*_*ish 9

你要做的是非常不安全,并且反对一切良好做法.简单地创建字典有问题吗?

myVars = {}
for param in parameters:
    myVars[param] = []
Run Code Online (Sandbox Code Playgroud)

警告以下代码用于教育目的!不要在真正的代码中使用它!

您可以通过硬件动态将变量动态添加到函数内的局部变量中.通常locals()表示所有局部变量.但是,简单地添加到该字典将无法解决问题.有一个hack迫使Python通过使用重新评估本地人exec,例如:

def test():
    for param im parameters:
        locals()[param] = []
    exec ""
    print WindSp_Avg
Run Code Online (Sandbox Code Playgroud)

结果:

>>> test()
[]
Run Code Online (Sandbox Code Playgroud)