我有大量的变量,每个变量都需要分配一个随机值。
我一直在尝试更改变量的值,而不必将每个变量单独更改为选定的随机值。
但是,似乎我没有正确地处理此问题。
Whales = 0
List = [Whales]
a = random.randint(1,10)
List[0] = a
显然,这会将List的0插槽更改为a,而不是将Whales的变量更改为a,因此我想知道如何在不直接添加类似内容的情况下进行操作:Whales = a
答案 0 :(得分:1)
也许您可以将“变量”存储在字典中。像
import random
vars = ['whales', 'cats']
vars_dict = {v: random.randint(1, 10) for v in vars}
print(vars_dict)
输出
{'whales': 3, 'cats': 5}
答案 1 :(得分:0)
如果确实需要它们作为变量,则可以使用字符串按名称访问它们。否则,去字典。
Whales = 6
var_list = ['Whales']
globals()[var_list[0]]
>>> 6
globals()[var_list[0]] = 7
globals()[var_list[0]]
>>> 7