如何随机生成变量名称?

时间:2018-05-19 02:57:45

标签: python list variables

在python中,我需要知道如何为列表随机生成变量名,但我不确定如何去做。

现在,我写了类似的东西。

name = random.randint(0,9)
name = [a,b,c,d]

我知道这只会改变名称'变量作为列表。 我想要做的是将我随机生成的数字作为变量分配给列表。我该怎么做?

我对python也很新,所以如果有更好的方法,我会接受建议。

1 个答案:

答案 0 :(得分:0)

生成变量:

您可以使用以下代码从字符串列表创建变量,但我不认为这是常见做法。

name = ['a','b','c','d']
values = [random.randint(1, 10) for i in range(len(name))]

for var_value, var_name in zip(values,name):
    locals()[var_name] = var_value

name = [a,d,c,b]

#[8, 8, 6, 4]

最好制作字典:

您可以通过创建字典来执行您想要的操作。

names = ['a','b','c','d'] 
values = [random.randint(1, 10) for i in range(len(name))]

# make a list of tuples that become the dictionary  
names_and_values = []
    for var_value, var_name in zip(values,name):
    names_and_values.append((var_value, var_name))

# create a dictionary with defined vairables
names = {name: value for name, value in names_and_values}

#{1: 'c', 2: 'd', 3: 'a', 5: 'b'}