首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在dicts列表和某些dicts值中计数特定dict键的出现,​包含列表并在值中追加计数

如何在dicts列表和某些dicts值中计数特定dict键的出现,​包含列表并在值中追加计数
EN

Stack Overflow用户
提问于 2022-11-26 22:36:15
回答 1查看 36关注 0票数 0

我正在尝试计算指定键在我的list of dicts中发生的次数。我使用循环和求和来计数所有的键,但是如何找到特定键的计数呢?我有这样的代码,它目前不起作用:

代码语言:javascript
复制
for dico in data:
    for ele in dico['people']:
                  print(ele['name']+str(len(ele['animals'])))

“条目”数据如下所示:

代码语言:javascript
复制
[
  {
    "name": "Uzuzozne",
    "people": [
      {
        "name": "Lillie Abbott",
        "animals": [
          {
            "name": "John Dory"
          }
        ]
      }
    ]
  },
  {
    "name": "Satanwi",
    "people": [
      {
        "name": "Anthony Bruno",
        "animals": [
          {
            "name": "Oryx"
          }
        ]
      }
    ]
  },
  {
    "name": "Dillauti",
    "people": [
      {
        "name": "Winifred Graham",
        "animals": [
          { "name": "Anoa" },
          { "name": "Duck" },
          { "name": "Narwhal" },
          { "name": "Badger" },
          { "name": "Cobra" },
          { "name": "Crow" }
        ]
      },
      {
        "name": "Blanche Viciani",
        "animals":
          [{ "name": "Barbet" },
          { "name": "Rhea" },
          { "name": "Snakes" },
          { "name": "Antelope" },
          { "name": "Echidna" },
          { "name": "Crow" },
          { "name": "Guinea Fowl" },
          { "name": "Deer Mouse" }]
      }
    ]
  }
]

我的目标是通过计算孩子的数量来打印人和动物的数量,并把它记在名字里,例如。Satanwi [2]

代码语言:javascript
复制
[ { name: 'Dillauti [5]',
    people:
     [ { name: 'Winifred Graham [6]',
         animals:
          [ { name: 'Anoa' },
            { name: 'Duck' },
            { name: 'Narwhal' },
            { name: 'Badger' },
            { name: 'Cobra' },
            { name: 'Crow' } ] },
       { name: 'Blanche Viciani [8]',
         animals:
          [ { name: 'Barbet' },
            { name: 'Rhea' },
            { name: 'Snakes' },
            { name: 'Antelope' },
            { name: 'Echidna' },
            { name: 'Crow' },
            { name: 'Guinea Fowl' },
            { name: 'Deer Mouse' } ] },
      ...
...
]
EN

回答 1

Stack Overflow用户

发布于 2022-11-26 22:52:44

这会做你想做的事;如果你需要解释的话,可以自由地问:

代码语言:javascript
复制
for dico in data:
    children = 0
    for ele in dico['people']:
        animals = len(ele['animals'])
        children += 1 + animals
        ele['name'] += f" [{animals}]"
    dico['name'] += f" [{children}]"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74586097

复制
相关文章

相似问题

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