python3:如何删除Python列表中的奇数

2024-07-08 16:22:17 发布

您现在位置:Python中文网/ 问答频道 /正文

以下为参考示例:

pairlist = [("A","B"),("Q","R"),("S","T"),("C","E"),("F","G"),("G","I"),("A","Y"),("B","C"),("B","D")]

我需要从这个列表中获得更相互关联的元组值(直接或间接)

例如: 请参阅下面的列表,其中“A”与成对列表[0]位置的元组中的“B”(“A”、“B”)相链接,而“B”与成对列表[7]中的“C”相链接,以此类推,它大量地间接互连,其中“G”的互连较少。你知道吗

pairs1 = ["A", "B", "C", "D", "E", "Y"] #More Interconnected indirectly

pairs2 = ["G", "F", "I"] #Less Interconnected indirectly

列表中的以下元组没有与任何元组相互关联的位置。你知道吗

("Q","R"),("S","T")

即使“G”是重复的,它与主调没有一次联系,但它与其他元素是分开联系的,与其他元素的联系很少。你知道吗

如何获得以下列表

pairs = ["A", "B", "C", "D", "E", "Y"]

Tags: 元素示例列表链接more请参阅元组less
1条回答
网友
1楼 · 发布于 2024-07-08 16:22:17

您可以使用包networkx

import networkx as nx

pairlist = [("A","B"),("C","E"),("F","G"),("G","I"),("A","Y"),("B","C"),("B","D")]

G = nx.Graph()
G.add_edges_from(pairlist)
for i in nx.connected_components(G):
    print(i)
# {'B', 'C', 'E', 'D', 'Y', 'A'}
# {'I', 'F', 'G'}

Graph

要绘制图形,请使用:

import matplotlib.pyplot as plt

nx.draw(G, with_labels=True)
plt.show()

或者如果您使用jupyter笔记本:

%matplotlib inline
nx.draw(G, with_labels=True)

相关问题 更多 >

    热门问题