为随机选择的变量分配一个值[重复] - python

This question already has answers here:

How do I randomly select a variable from a list, and then modify it in python?
                                
                                    (2个答案)
                                
                        
                                2年前关闭。
            
                    
假设我有5个变量,从AE

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

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

使用python random模块,我这样做:

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

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

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

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

python大神给出的解决方案

您尚未将“变量”放入列表中,而是创建了一个列表,其中包含五个引用,分别引用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'

如何根据子列表的长度对列表列表进行排序[重复] - python

This question already has answers here: Sorting Python list based on the length of the string (7个答案) 5年前关闭。 我有以下清单a = [['a', 'b', 'c'], ['d'…

Python:检查新文件是否在文件夹中[重复] - python

This question already has answers here: How do I watch a file for changes? (23个答案) 3年前关闭。 我是python的新手,但是我尝试创建一个自动化过程,其中我的代码将侦听目录中的新文件条目。例如,某人可以手动将zip文件复制到一个特定的文件夹中,并且我希望我的代码能够在文件完全…

Python pytz时区函数返回的时区为9分钟 - python

由于某些原因,我无法从以下代码中找出原因:>>> from pytz import timezone >>> timezone('America/Chicago') 我得到:<DstTzInfo 'America/Chicago' LMT-1 day, 18:09:00 STD…

python切片的奇怪行为[重复] - python

This question already has answers here: Reversing a list slice in python (2个答案) 7个月前关闭。 假设我们有以下列表:>>> a = [x for x in range(10)] >>> print(a) [0, 1, 2, 3, 4, 5, 6…

从文件中读取用户名和密码[重复] - python

This question already has answers here: How to read a file line-by-line into a list? (28个答案) 2年前关闭。 如何在Python中逐行读取文本(例如用户名和密码)?例如,我可以在shell / bash中实现此目的:#!/bin/bash AUTH='/aut…