[英]iterating over values() of dictionary
我试图通过使用 for 循环来标记字典的每个值,但出现错误:'float' object 不可迭代。 我的代码是:
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() 的值?
for doc, something_other_than_answers in answers.items():
...
看起来您的答案之一不是可迭代的,以避免错误并仅在可迭代对象上运行,您可以尝试除了检查 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 循环中的答案值,以防它不是像 float 这样的可迭代对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.