我有一个这样的元组列表。
a = [(1,2),(1,3),(1,4),(2,5),(6,5),(7,8)]
在此列表中,1与2有关,然后2与5有关,而5与6有关,因此1与6有关。类似地,我需要找到元组中其他元素之间的关系。我需要一个采用输入值和输出的函数,如下所示:
input = (1,6) #output = True
input = (5,3) #output = True
input = (2,8) #output = False
我不了解itertools或map函数。它们可以用来解决这类问题吗?
并且出于好奇和兴趣,我在哪里可以找到要解决的这类问题,而在现实生活中会遇到哪些类型的问题?
最佳答案
通过将元组视为图形中的边缘,可以轻松完成此操作。然后将问题简化为检查两个节点之间是否存在路径。
为此存在许多不错的库,例如networkx
import networkx as nx
a = [(1,2),(1,3),(1,4),(2,5),(6,5),(7,8)]
G = nx.Graph(a)
nx.has_path(G, 1, 6) # True
nx.has_path(G, 5, 3) # True
nx.has_path(G, 2, 8) # False
关于python - 计算元组列表中元素的可达性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51981551/