在python中,我需要知道如何为列表随机生成变量名,但我不确定如何去做。
现在,我写了类似的东西。
name = random.randint(0,9)
name = [a,b,c,d]
我知道这只会改变名称'变量作为列表。 我想要做的是将我随机生成的数字作为变量分配给列表。我该怎么做?
我对python也很新,所以如果有更好的方法,我会接受建议。
答案 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'}