假设我有5个变量,A
至E
。
我已将它们粘贴在列表中,如下所示:
lst = [A, B, C, D, E]
使用python random模块,我做到了:
random.choice(list) = "The Chosen Letter"
但是,正如您确定的那样,我很粗鲁地打了一个“无法分配给函数调用”的错误提示。这不是我要问的,我知道为什么会这样。
我想知道的是,是否确实可以为列表中的随机变量赋值,或者是否需要编写一个丑陋的解决方法。
对于上下文,它是针对我尝试使用随机生成的文本进行编码的动态网格。
答案 0 :(得分:0)
您尚未将“变量”放入列表中,您已经创建了一个列表,其中包含五个对A
,B
,C
,...指向。
实际上,一个名称不可能引用另一个名称。名称是单向且唯一地引用内存中的值。
使用带有字符串键的字典。
设置:
>>> import random
>>> keys = ['A', 'B', 'C', 'D', 'E']
>>> my_vars = dict.fromkeys(keys)
>>> my_vars
{'A': None, 'B': None, 'C': None, 'D': None, 'E': None}
设置随机键的值:
>>> my_vars[random.choice(keys)] = 'The chosen Letter'
>>> my_vars
{'A': None, 'B': 'The chosen Letter', 'C': None, 'D': None, 'E': None}
访问“变量”
>>> my_vars['B']
'The chosen Letter'