gpt4 book ai didi

python - 从 O(n) 中的列表生成分类数据集

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:43:19 25 4
gpt4 key购买 nike

我正在尝试从具有属性 prop1prop2 的项目列表中生成具有以下结构的数据集:

result[p1][p2] => prop1=p1 和 prop2=p2 的项目列表

我已经能够在 O(n2) 中完成它:

result = {
item.prop1: {
item.prop2: [
i
for i in item_list
if i.prop1 == item.prop1 and i.prop2 == item.prop2
]
}
for item in item_list
}

但是一直没能找到在更短的时间内做到这一点的方法。是否有可能在 O(n) 中实现?

最佳答案

您应该只需要遍历项目一次:

from collections import defaultdict

result = defaultdict(lambda: defaultdict(list))
for item in item_list:
result[item.prop1][item.prop2].append(item)

关于python - 从 O(n) 中的列表生成分类数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38820229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com