Python 有没有一种方法可以从列表中获取一个元素并将其用于变量的名称中?

Python 有没有一种方法可以从列表中获取一个元素并将其用于变量的名称中?,python,python-3.x,Python,Python 3.x,假设我有一张清单: 问题=['a','b','c','d','e'] 我想创建一个以列表中的元素命名的变量: 问题[2]=“你好,世界” 这是我认为我可以做到的方式,但当我尝试打印它时: 打印(b) 我得到这个错误: name错误:未定义名称“b” 显然,python已经创建了一个全新的变量,名为“questions[2]”。如何让python将问题[2]识别为“b”,而不是“问题[2]”?您知道b和“b”之间的区别吗?变量的名称和值之间不存在任何差异。虽然这是可能的,但确实不应该有任何理由这样

假设我有一张清单:

问题=['a','b','c','d','e']

我想创建一个以列表中的元素命名的变量:

问题[2]=“你好,世界”

这是我认为我可以做到的方式,但当我尝试打印它时:

打印(b)

我得到这个错误:

name错误:未定义名称“b”


显然,python已经创建了一个全新的变量,名为“questions[2]”。如何让python将问题[2]识别为“b”,而不是“问题[2]”?

您知道b和“b”之间的区别吗?变量的名称和值之间不存在任何差异。

虽然这是可能的,但确实不应该有任何理由这样做。但无论如何,您可以使用
exec()


请注意,通常不鼓励使用
exec()
。也许字典可以满足您的需要。

>python已经创建了一个名为“questions[2]”的全新变量,不会,它将为索引
2
处的单元格分配新值
'Hello world'
(以前的值为
'c'
)。注意:列表索引从0开始,而不是从1开始。这应该是一条评论。我没有足够的声誉来发布评论:),所以唯一的方法就是回答。如果可能,请发表评论!我不明白exec()在做什么,你能详细说明一下发生了什么吗?它执行字符串就像执行python语句一样,从而将
“Hello world”
赋值给变量
b
questions = ['a','b','c','d','e']
exec(questions[1] + ' = "Hello world"')
print(b)