gpt4 book ai didi

Python:追加列表中不存在的新元组

转载 作者:行者123 更新时间:2023-12-01 04:18:58 25 4
gpt4 key购买 nike

我有三个列表。我想要做的是在 TempTree 中查找第三个项目,如果该项目不存在于集合中,那么我想将第三个项目附加到 STree 中。

我将使用 i[2:] 中的 for 循环 TempTree[i]

给定数据:

TempTree = [(3.0, 5.0), (1.0, 7.0), (5.0, 4.0), (3.0, 4.0), (0.0, 7.0), (1.0, 2.0), (7.0, 8.0), (2.0, 3.0), (8.0, 6.0), (0.0, 1.0), (2.0, 5.0), (2.0, 8.0), (6.0, 5.0), (7.0, 6.0)]
Set = [(3.0, 5.0), (5.0, 3.0), (1.0, 7.0), (7.0, 1.0)]
SpanningTree = [(3.0, 5.0), (1.0, 7.0)]

我的代码:

for x in TempTree[2]:
for y in Set:
if x != y:
SpanningTree.append(TempTree[2])
print(SpanningTree)

我的结果:

[(3.0, 5.0), (1.0, 7.0), (5.0, 4.0), (5.0, 4.0), (5.0, 4.0), (5.0, 4.0), (5.0, 4.0), (5.0, 4.0), (5.0, 4.0), (5.0, 4.0)]

所需结果:

[(3.0, 5.0), (1.0, 7.0), (5.0, 4.0)]

最佳答案

显然,您正在查找 TempTree[2],即您不检查元组,而是检查其中的每个数字(5.0,4.0)。在这种情况下,当然 x!=y 因为 x 是 float ,y 是元组,因此您会得到元组的 2 * 4 加法。你应该做什么(没有检查,但这是主要思想):

for x in Set:
if x != TempTree[2]:
SpanningTree.append(TempTree[2])
break
print(SpanningTree)

另外,最好使用 python Set 类型而不是 List 来防止多次发生。

关于Python:追加列表中不存在的新元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33953074/

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