我试图使用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))
它在行中显示错误:对于答案中的答案
如何遍历dict.values()的值?
发布于 2020-05-15 19:11:05
for doc, something_other_than_answers in answers.items():
...
发布于 2020-05-15 19:42:33
看起来你的其中一个答案不是可迭代的,为了避免错误,并且只在可迭代上运行,你可以尝试一下,除了检查TypeError
for doc, answers_items in answers.items():
try:
for answer in answers_items:
if doc not in tokenized_answers:
tokenized_answers[doc] = [tokenize(answer, tokenizer)]
else:
tokenized_answers[doc].append(tokenize(answer, tokenizer))
except TypeError:
continue
这将跳过for循环中的answers值,以防它不像float那样是可迭代的。
https://stackoverflow.com/questions/61826297
复制