Python : pass variable name as argument

后端 未结 4 1267
渐次进展
渐次进展 2021-01-16 12:22

I have a function f(x) in which many local variables are created. x is a string with the same name as one of these local variables and I would like

4条回答
  •  夕颜
    夕颜 (楼主)
    2021-01-16 12:52

    Use a dict

    Simply, use a dict:

    def f(x):
        values = {
            "a": [1,2,3],
            "b": [2,3,4],
            "c": [3,4,5]
        }
        values[x][0] = 10
        return values["a"], values["b"], values["c"]
    

    If you really really want, use your original code and do locals()[x][0] = 10 but that's not really recommended because you could cause unwanted issues if the argument is the name of some other variable you don't want changed.

提交回复
热议问题