首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:在尝试从字典访问值时,字符串索引必须是整数

TypeError:在尝试从字典访问值时,字符串索引必须是整数
EN

Stack Overflow用户
提问于 2019-04-16 20:34:02
回答 1查看 109关注 0票数 0

我有一本这样的字典:

代码语言:javascript
复制
data = {
   "4.3.0 Test Plan":{
      "Engine":{
         "passed_count":0,
         "blocked_count":0,
         "untested_count":4088,
         "failed_count":0,
         "reviewed_count":0,
         "test_harness_issue_count":0,
         "bug_failure_count":0,
         "defect_list":[

         ]
      },
      "Management Web Console":{
         "passed_count":0,
         "blocked_count":0,
         "untested_count":12067,
         "failed_count":0,
         "reviewed_count":0,
         "test_harness_issue_count":0,
         "bug_failure_count":0,
         "defect_list":[

         ]
      }
   }
}

通过这样做,我试图访问这两个类别的untested_count值:

代码语言:javascript
复制
for value in data["4.3.0 Test Plan"]:
    print(value)
    print(value['untested_count'])

但是我收到了这行的错误TypeError: string indices must be integersprint(value['untested_count'])

并从同一行的python Expected type 'Union[int, slice]', got 'str' instead中接收到此错误

我对此感到困惑,对于此示例的任何帮助和解释都将不胜感激。

注意:上述for循环中的print(value)工作,并将返回:

代码语言:javascript
复制
Engine
Management Web Console

预期成果:

代码语言:javascript
复制
Engine
4088
Management Web Console
12067
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-16 20:36:46

您正在遍历字典的keys,而可以使用items()keysvalues上进行迭代。

代码语言:javascript
复制
for key, value in data["4.3.0 Test Plan"].items():
   print(key)
   print(value['untested_count'])

输出:

代码语言:javascript
复制
Engine
4088
Management Web Console
12067
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55716215

复制
相关文章

相似问题

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