“太多的价值无法解包”,遍历一个字典。 键=>字符串,值=>列表

本文翻译自:'too many values to unpack', iterating over a dict. key=>string, value=>list

I am getting the 'too many values to unpack' error. 我收到'too many values to unpack'错误。 Any idea how I can fix this? 知道我该如何解决吗?

first_names = ['foo', 'bar']
last_names = ['gravy', 'snowman']

fields = {
    'first_names': first_names,
    'last_name': last_names,
}        

for field, possible_values in fields:  # error happens on this line              

#1楼

参考:https://stackoom.com/question/mW7g/太多的价值无法解包-遍历一个字典-键-gt-字符串-值-gt-列表


#2楼

For Python 3.x iteritems has been removed. 对于Python 3.x, iteritems项目已删除。 Use items instead. 改用物品

for field, possible_values in fields.items():
    print(field, possible_values)

#3楼

For lists, use enumerate 对于列表,请使用enumerate

for field, possible_values in enumerate(fields):
    print(field, possible_values)

iteritems will not work for list objects iteritems不适用于列表对象


#4楼

Can't be iterating directly in dictionary. 不能直接在字典中进行迭代。 So you can through converting into tuple . 这样就可以通过转换为元组了

first_names = ['foo', 'bar']
last_names = ['gravy', 'snowman']

fields = {
    'first_names': first_names,
    'last_name': last_names,
         } 
tup_field=tuple(fields.items())
for names in fields.items():
     field,possible_values = names
     tup_possible_values=tuple(possible_values)
     for pvalue in tup_possible_values:
           print (field + "is" + pvalue)

#5楼

you are missing fields.iteritems() in your code. 您在代码中缺少fields.iteritems()

You could also do it other way, where you get values using keys in the dictionary. 您也可以采用其他方式,即使用字典中的键获取值。

for key in fields:
    value = fields[key]

#6楼

data = (['President','George','Bush','is','.'],['O','B-PERSON','I-PERSON','O','O'])
corpus = []
for(doc,tags) in data:
    doc_tag = []
    for word,tag in zip(doc,tags):
        doc_tag.append((word,tag))
        corpus.append(doc_tag)
        print(corpus)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值