首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >迭代字典的值()

迭代字典的值()
EN

Stack Overflow用户
提问于 2020-05-16 02:47:09
回答 2查看 57关注 0票数 0

我试图使用for循环来标记字典的每个值,但我得到了一个错误:'float‘对象不可迭代。我的代码是:

代码语言:javascript
运行
复制
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()的值?

EN

回答 2

Stack Overflow用户

发布于 2020-05-16 03:11:05

代码语言:javascript
运行
复制
for doc, something_other_than_answers in answers.items():
   ...
票数 0
EN

Stack Overflow用户

发布于 2020-05-16 03:42:33

看起来你的其中一个答案不是可迭代的,为了避免错误,并且只在可迭代上运行,你可以尝试一下,除了检查TypeError

代码语言:javascript
运行
复制
 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那样是可迭代的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61826297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档