我得到这个值错误
ValueError: need more than 2 values to unpack)
我不知道这是什么意思
这是我的密码:
contact_map = {'Dennis Jones': ('989-123-4567', 'Dennis@gmail.com'), 'Susan': ('517-345-1234', 'susan_smith@anr.msu.edu'), 'Miller, Matthew': ('616-765-4321', 'matt@yahoo.com')}
FORM = "{:<s};{:<d};{:<s}"
out_file = input("Enter a name for the output file: ")
output_file= open(out_file, "w")
for name, phone, email in contact_map.items():
output_file.write(FORM.format(name, phone, email))
output_file.close()
dict.items()
返回一个包含键和值的元组。dict.items()
的第一个元素是:解释器希望您将这个元组解压成两个值(一个用于
'Dennis Jones'
,另一个用于('989-123-4567', 'Dennis@gmail.com')
)。为了循环浏览这三个项目(姓名、电话和电子邮件),您可以通过在括号中包围phone, email
来解压内部元组:调用
dict.items()
键和值时必须有两个。之后,你需要解包的价值部分,以便获得电话和电子邮件你得到这个错误是因为你试图解压一个
len==3
(name, phone, email
)的元组,但是items()
返回(key, value)
,这里的value
是长度为2的元组您可以将其解包为一行,如下所示:
相关问题 更多 >
编程相关推荐