【发布时间】:2020-09-01 16:42:03
【问题描述】:
我正在尝试使用 for 循环标记字典的每个值,但出现错误:'float' 对象不可迭代。 我的代码是:
for doc, answers in answers.items():
for answer in answers:
if doc not in tokenized_answers:
tokenized_answers[doc] = [tokenize(answer, tokenizer)]
else:
tokenized_answers[doc].append(tokenize(answer, tokenizer))
显示错误:for answer in answers
如何遍历 dict.values() 的值?
【问题讨论】:
-
该错误是由于
answers只是一个值,例如20。你不能迭代这个 -
如果您可以显示输入字典,那将会很有帮助。该错误消息似乎表明您正在尝试在您的一个 for 循环中迭代浮点数。
-
当名称
answers已经绑定到dict时,它可能是个坏主意。从for doc, answer in answers.items():开始,去掉内循环,然后从那里开始。 -
我的输入字典是:{28082: ['dielectric resonator antenna', 'slot Coupled', 'wideband circle polarDESIGN'], 14050: ['Routing', 'Wormhole', 'Intrusion', '检测'、'AnomalyMOBILE']}
-
错误消息暗示至少一个键的值是浮点数而不是序列/可迭代。
标签: python python-3.x loops dictionary iteration