要按不同模型对对象进行分组,可以使用Python中的字典来实现。下面是一个代码示例:
class ModelA:
def __init__(self, name):
self.name = name
class ModelB:
def __init__(self, name):
self.name = name
class ModelC:
def __init__(self, name):
self.name = name
# 创建对象
a1 = ModelA("A1")
a2 = ModelA("A2")
b1 = ModelB("B1")
b2 = ModelB("B2")
c1 = ModelC("C1")
c2 = ModelC("C2")
# 将对象按照模型进行分组
groups = {}
for obj in [a1, a2, b1, b2, c1, c2]:
model_name = obj.__class__.__name__
if model_name not in groups:
groups[model_name] = []
groups[model_name].append(obj)
# 输出分组结果
for model, objects in groups.items():
print(f"{model}: {', '.join([obj.name for obj in objects])}")
运行以上代码,将会输出如下结果:
ModelA: A1, A2
ModelB: B1, B2
ModelC: C1, C2
在以上示例中,我们定义了三个模型类 ModelA、 ModelB 和 ModelC,每个模型类都有一个 name 属性。我们创建了六个对象,并将它们按照模型进行分组。
可以看到,我们使用了一个字典 groups 来存储分组结果。在遍历对象列表时,我们获取每个对象的模型名称,然后将该对象添加到对应模型名称的列表中。如果字典中还没有对应模型名称的键,我们首先将该键添加到字典中,并将对象添加到对应列表中。最后,我们遍历字典,输出每个模型对应的对象列表。
上一篇:按不同列值分组和透视
下一篇:按不同偏移量循环不同的张量行