gpt4 book ai didi

python - 理解 - 从字典字段中列出

转载 作者:太空宇宙 更新时间:2023-11-04 10:31:57 24 4
gpt4 key购买 nike

目前,我正在这样做:

nodes = set([relation.source for relation in relations] +
[relation.target for relation in relations])

肯定有更简单的方法,但我找不到。

有点像

nodes = set([(relation.source, relation.target) for relation in relations])

但这当然行不通。谢谢

[编辑]忘了说:relations 是一个字典,或者在我的例子中,是一个对象的集合。

最佳答案

您可以在 *-comprehension(列表、集合、字典、生成器表达式)中使用多个 for 子句:

nodes = {
x
for relation in relations
for x in [relation.source, relation.target]
}

上面的表达式类似于:

nodes = set()
for relation in relations:
for x in [relation.source, relation.target]:
nodes.add(x)
nodes

使用生成函数的替代方法:

def source_targets(relations):
for relation in relations:
yield relation.source
yield relation.target

nodes = set(source_targets(relations))

关于python - 理解 - 从字典字段中列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25871652/

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