给随机选择的变量赋值

时间:2018-12-16 15:38:20

标签: python list

假设我有5个变量,AE

我已将它们粘贴在列表中,如下所示:

lst = [A, B, C, D, E]

使用python random模块,我做到了:

random.choice(list) = "The Chosen Letter"

但是,正如您确定的那样,我很粗鲁地打了一个“无法分配给函数调用”的错误提示。这不是我要问的,我知道为什么会这样。

我想知道的是,是否确实可以为列表中的随机变量赋值,或者是否需要编写一个丑陋的解决方法。

对于上下文,它是针对我尝试使用随机生成的文本进行编码的动态网格。

1 个答案:

答案 0 :(得分:0)

您尚未将“变量”放入列表中,您已经创建了一个列表,其中包含五个对ABC,...指向。

实际上,一个名称不可能引用另一个名称。名称是单向且唯一地引用内存中的值。

使用带有字符串键的字典。

设置:

>>> 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'