gpt4 book ai didi

python - 传递闭包 python 元组

转载 作者:太空狗 更新时间:2023-10-29 18:18:14 24 4
gpt4 key购买 nike

有谁知道是否有用于计算元组传递闭包的 python 内置函数?

我有 (1,2),(2,3),(3,4) 形式的元组,我正在尝试获取 (1,2),( 2,3),(3,4),(1,3)(2,4)

谢谢。

最佳答案

没有内置的传递闭包。

虽然它们实现起来非常简单。

这是我的看法:

def transitive_closure(a):
closure = set(a)
while True:
new_relations = set((x,w) for x,y in closure for q,w in closure if q == y)

closure_until_now = closure | new_relations

if closure_until_now == closure:
break

closure = closure_until_now

return closure

调用:transitive_closure([(1,2),(2,3),(3,4)])

结果:set([(1, 2), (1, 3), (1, 4), (2, 3), (3, 4), (2, 4)])

调用:transitive_closure([(1,2),(2,1)])

结果:设置([(1, 2), (1, 1), (2, 1), (2, 2)])

关于python - 传递闭包 python 元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8673482/

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