注意:我不是Python的常规用户。
以下已被确定为语法错误,虽然它可能看起来有些基本或微不足道,但我无法为我的生活解决错误。
{'key': value for (key, value) in vars()[x]}
我也将它输入IDLE shell,以下是收到的响应。
>>> x = input('')
1
>>> vars()[x]=[1,2,3]
>>> myDict = {'key': value for (key, value) in vars()[x]}
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
myDict = {'key': value for (key, value) in vars()[x]}
File "<pyshell#2>", line 1, in <dictcomp>
myDict = {'key': value for (key, value) in vars()[x]}
TypeError: 'int' object is not iterable
感谢。
答案 0 :(得分:0)
您正在尝试迭代单个int
元素而不是列表或字典。以下内容应该会给你一个更好的主意。
vars = {'key':'value'}
for key, value in vars.iteritems():
print key, value
这可能更适合你(即使它真的反直觉):
vars = [1, 2, 3]
d = {'key':'value'}
for value in vars:
d['key'] = value
print d
输出:{'key': 3}
来自docs:
异常TypeError 将操作或函数应用于不适当类型的对象时引发。关联值是一个字符串,提供有关类型不匹配的详细信息。