gpt4 book ai didi

python - 在 Python 中检索特定的集合元素

转载 作者:行者123 更新时间:2023-11-28 16:43:23 25 4
gpt4 key购买 nike

本质上这就是我想要做的:

我有一个可以添加对象的集合。这些对象有它们自己的相等方法,并且一个集合永远不应该有一个元素等于集合中的另一个元素。但是,当尝试插入一个元素时,如果它等于另一个元素,我想记录这两个元素的合并版本。也就是说,对象有一个在其相等方法中未考虑的“辅助”字段。添加完后,我希望元素的“aux”字段包含我尝试添加的相同元素的所有“aux”字段的组合。

我的想法是,好吧,在将元素添加到集合之前,检查它是否已经在集合中。如果是,则将其从集合中拉出,合并两个元素,然后将其放回。但是,Python 集合中的 remove 方法不返回任何内容,而 pop 方法返回任意元素。

我可以用 Python 中的集合做我想做的事情吗,或者我是不是找错了树(什么是正确的树?)

最佳答案

听起来你想要一个defaultdict

from collections import defaultdict
D = defaultdict(list)
D[somekey].append(auxfield)

编辑:要使用合并功能,您可以合并人们在评论中提供的代码

D = {}
for something in yourthings:
if something.key in D:
D[something.key] = something.auxfield
else:
D[something.key] = merge(D[something.key], something.auxfield)

关于python - 在 Python 中检索特定的集合元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16802928/

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