Python - 创建20个变量的有效方法?

Woo*_*ker -2 python variables creation exec

我需要在Python中创建20个变量.这些变量都是需要的,它们最初应该是空字符串,空字符串稍后将被其他字符串替换.我不能在需要时根据需要创建变量,因为我还有一些if/else语句需要检查变量是否仍为空或已经等于其他字符串.

而不是写作

variable_a = ''
variable_b = ''
....
Run Code Online (Sandbox Code Playgroud)

我想到了类似的东西

list = ['a', 'b']
for item in list:
    exec("'variable_'+item+' = '''")
Run Code Online (Sandbox Code Playgroud)

此代码不会导致错误,但仍然无法实现我所期望的 - 变量不是使用名称"variable_1"创建的,依此类推.

我的错误在哪里?

谢谢,Woodpicker

Fre*_*Foo 10

我的错误在哪里?

可能有三个错误.首先是'variable_' + 'a'显然不等于'variable_1'.第二个是参数中的引用exec.做

for x in list:
    exec("variable_%s = ''" % x)
Run Code Online (Sandbox Code Playgroud)

获得variable_a

第三个错误是你没有使用listdict为此.做就是了

variable = dict((x, '') for x in list)
Run Code Online (Sandbox Code Playgroud)

然后得到"变量"的内容avariable['a'].不要对抗语言.用它.

  • 我是否在向他展示如何做他所做的事情是一个好主意或一个坏主意,我感到很矛盾...... (4认同)
  • 使用`exec`时,会为你保留一个特殊的地狱圈. (4认同)
  • 第四个错误是使用`list`作为变量名 (2认同)