Python 2.7 ValueError:创建字典时需要多个值才能解包
如下所示,我正在尝试使用现有列表创建一个新字典(student):键和值 “值”列表的其中一个元素已在外部定义为“课程”的列表中Python 2.7 ValueError:创建字典时需要多个值才能解包,python-2.7,dictionary,Python 2.7,Dictionary,如下所示,我正在尝试使用现有列表创建一个新字典(student):键和值 “值”列表的其中一个元素已在外部定义为“课程”的列表中 student = {} keys = ['name', 'age', 'courses'] courses = ['Python', 'Linux', 'Selenium Webdriver'] values = ['Kapil', '29', courses] student = {key:value for key, value in zip(keys +
student = {}
keys = ['name', 'age', 'courses']
courses = ['Python', 'Linux', 'Selenium Webdriver']
values = ['Kapil', '29', courses]
student = {key:value for key, value in zip(keys + values)}
print (student)
当我运行此命令时,会出现以下错误:
执行以下操作时
for key, value in zip(keys + values)
zip
生成一个由1个元素组成的元组,遍历与值连接的键列表(zip
可以接受1到任意数量的参数),1个值不适合2个目标值。所以你不是真的用值压缩键,而是添加它们
你需要:
for key, value in zip(keys,values)
在您的情况下,最好将元组直接传递给dict
,而不是dict comprehension:
student = dict(zip(keys,values))
当做
for key, value in zip(keys + values)
zip
生成一个由1个元素组成的元组,遍历与值连接的键列表(zip
可以接受1到任意数量的参数),1个值不适合2个目标值。所以你不是真的用值压缩键,而是添加它们
你需要:
for key, value in zip(keys,values)
在您的情况下,最好将元组直接传递给dict
,而不是dict comprehension:
student = dict(zip(keys,values))
zip(键+值)
=>zip(键,值)
zip(键+值)
=>zip(键,值)