Python 将变量列表转换为varName/varValue对字典

Python 将变量列表转换为varName/varValue对字典,python,python-2.7,Python,Python 2.7,我有一些变量:var1=11var2=22var3=33等等。编辑:对不起,名称更具体。。。“垃圾邮件”、“鸡蛋”、“笑话”等。它们不在一个系列中编号 这些值存储在一个列表中:myList=(var1、var2、var3)应该是myList=(垃圾邮件、鸡蛋、笑话) 如何将myList转换为varName:varValue对字典? i、 e.myDict={'spam':11,“鸡蛋”:22,“笑话”:33} 我有理由这样做。另一个返回格式化值列表的函数完成格式化后,变量值存储在列表中。出于可读

我有一些变量:
var1=11
var2=22
var3=33
等等。编辑:对不起,名称更具体。。。“垃圾邮件”、“鸡蛋”、“笑话”等。它们不在一个系列中编号

这些值存储在一个列表中:
myList=(var1、var2、var3)
应该是
myList=(垃圾邮件、鸡蛋、笑话)

如何将
myList
转换为varName:varValue对字典? i、 e.
myDict={'spam':11,“鸡蛋”:22,“笑话”:33}


我有理由这样做。另一个返回格式化值列表的函数完成格式化后,变量值存储在列表中。出于可读性的原因,我希望通过原始名称而不是myList[0]myList[1]等来引用格式化变量。

列表中存储的值没有名称;您的列表包含
(11、22、33)
,并且原始变量名不会转移到列表中

您可以提供自己的密钥:

my_list = [11, 22, 33]
my_keys = ['var1', 'var2', 'var3']

my_dict = dict(zip(my_keys, my_list))

zip()
my\u list
my\u keys
的元素配对,创建键值元组列表
dict()
获取该列表并从中生成一个字典。

对于未定义数量的变量,可以按如下方式执行:

var_names = ['spam','eggs','jokes',...]
myList = (11,22,33,.....)

myDict = {}
for i in range(len(myList)):
    myDict[var_names[i]] = myList[i]

是的,你说得对。名单上没有名字。所以,像你建议的那样做是有道理的。:>)对不起,我把变量命名得不好。它们有更具体的名称,如“垃圾邮件”、“鸡蛋”、“笑话”等。因此,添加一系列数字将不起作用。@flanna,在这种情况下,您需要有一个变量名称列表,如:
var_names=[“垃圾邮件”、“鸡蛋”、“笑话”等]
我现在就更新我的答案。@flanna,抱歉花了这么长时间。我已经更新了我的答案。适用于不同的var名称。