[英]iterating over values() of dictionary
I am trying to tokenize each value of dictionary by using for loop but i am getting an error: 'float' object is not iterable.我试图通过使用 for 循环来标记字典的每个值,但出现错误:'float' object 不可迭代。 My code is:我的代码是:
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))
It's showing error in line: for answer in answers它显示错误:for answer in answers
how can i iterate through the values of dict.values()?我如何遍历 dict.values() 的值?
for doc, something_other_than_answers in answers.items():
...
It's look like one of your answers is not an iterable to avoid the error and to run only on iterables you can make a try except to check for TypeError看起来您的答案之一不是可迭代的,以避免错误并仅在可迭代对象上运行,您可以尝试除了检查 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
That will skip the answers value from the for loop in case it's not an iterable like float.这将跳过 for 循环中的答案值,以防它不是像 float 这样的可迭代对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.