Python如何找到第二个连接?

时间:2018-11-16 23:56:26

标签: python class methods

已删除,我不应该问这个问题

2 个答案:

答案 0 :(得分:0)

我将使它处于较低的技术水平;您可以根据需要将此内容塞进去。

遍历一阶连接的列表。对于每个连接,获取一阶连接,并将它们添加到当前的二阶集中-我称之为friend_of_friend

def second_connections(self):
    for other in self.connections:
        self.friend_of_friend.union(other.connections)

答案 1 :(得分:0)

由于我看不到您的课程,所以我将在不将其集成到课程中的情况下实现解决方案。由于您没有共享数据结构,因此我也只描述如下连接。

sets = set([("A", "B"),("A", "D"),("A", "C"),("A", "E"),("B", "F"),("D", "G"), ("F","H")])

def up_to_second(name, sets):
    connectables = [name] + [x[1] for x in sets if x[0] == name]
    return [x for x in sets if x[0] in connectables]

up_to_second("A", sets)

这给出了预期的结果:

[('A', 'B'), ('A', 'D'), ('A', 'C'), ('A', 'E'), ('D', 'G'), ('B', 'F')]

假设您的数据结构与此至少有一点不同,则需要调整此解决方案以符合您的模式。但尽我所能告诉我这是一个解决方案。