You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计OrderedDict结构中特定自定义对象obj1的数量?

统计OrderedDict中指定类的数量

你这里的OrderedDict存储的是类本身(而非类的实例),其实不用提取对象名称,直接通过类对象本身就能快速统计数量,用collections.Counter是最简便的方法:

完整示例代码

import collections

class obj1():
    def __init__(self):
          self.aa = 22
          self.bb = 23

class obj2():
    def __init__(self):
          self.dd = 22
          self.ee = 23

my_test = collections.OrderedDict()

my_test['1'] = obj1
my_test['2'] = obj1
my_test['3'] = obj1
my_test['4'] = obj2

# 统计obj1的数量
from collections import Counter
count_obj1 = Counter(my_test.values())[obj1]
print(count_obj1)  # 输出:3

说明

  • my_test.values()直接获取OrderedDict中所有的类对象
  • Counter会自动统计每个类对象出现的次数,通过[obj1]直接取出对应数量,一步到位
  • 如果确实需要获取类的名称字符串,可使用类的.__name__属性(比如obj1.__name__返回'obj1'),但直接比较类对象本身更准确,避免同名类的混淆

内容的提问来源于stack exchange,提问作者diedro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 13:42:53