按属性将列表项分组在一个对象中
创始人
2024-11-05 18:01:44
0

以下是一个示例代码,将列表项按属性分组在一个对象中:

def group_items_by_attribute(items, attribute):
    grouped_items = {}
    for item in items:
        item_attribute = getattr(item, attribute)
        if item_attribute in grouped_items:
            grouped_items[item_attribute].append(item)
        else:
            grouped_items[item_attribute] = [item]
    return grouped_items

# 示例使用
class Item:
    def __init__(self, name, category):
        self.name = name
        self.category = category
    
    def __repr__(self):
        return f"Item(name='{self.name}', category='{self.category}')"

items = [
    Item('Item 1', 'Category A'),
    Item('Item 2', 'Category B'),
    Item('Item 3', 'Category A'),
    Item('Item 4', 'Category B'),
    Item('Item 5', 'Category C'),
]

grouped_items = group_items_by_attribute(items, 'category')
print(grouped_items)

输出结果:

{
    'Category A': [
        Item(name='Item 1', category='Category A'),
        Item(name='Item 3', category='Category A')
    ],
    'Category B': [
        Item(name='Item 2', category='Category B'),
        Item(name='Item 4', category='Category B')
    ],
    'Category C': [
        Item(name='Item 5', category='Category C')
    ]
}

以上代码中,我们定义了一个 group_items_by_attribute 函数,该函数接受一个列表 items 和一个属性名 attribute。函数通过循环遍历列表中的每个项,并使用 getattr 函数获取该项的指定属性值。然后,我们检查该属性值是否已经存在于 grouped_items 字典中,如果存在,则将该项添加到对应的列表中,否则创建一个新的列表,并将该项添加到其中。最终,函数返回一个包含分组项的字典。

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...