La question courte, y a-t-il une fonction de self pour faire un graphe à partir d'une collection d'ensembles de pythons? La question la plus longue: j'ai plusieurs ensembles de pythons. Ils se chevauchent ou certains sont des sous-ensembles d'autres. Je voudrais faire un graphique (comme dans les noeuds et les bords) les noeuds sont les éléments dans les ensembles. Les arêtes sont l'intersection des ensembles pondérés par le nombre d'éléments à l'intersection des ensembles. Il y a plusieurs paquets graphiques pour python. (NetworkX, igraph, ...) Je ne suis pas familier avec l'utilisation de l'un d'entre eux. Est-ce que l'un d'eux fera un graphique directement à partir d'une liste d'ensembles, c'est-à-dire, MakeGraphfromSets (alistofsets) Si non, connaissez-vous un exemple de la façon de prendre la liste des ensembles pour définir les bords. En fait, il semble que ce soit simple, mais un exemple est toujours bon à avoir.construire un graphe à partir de python définir le type
0
A
Répondre
1
Il est pas trop difficile pour vous le code:
def intersection_graph(sets):
adjacency_list = {}
for i, s1 in enumerate(sets):
for j, s2 in enumerate(sets):
if j == i:
continue
try:
lst = adjacency_list[i]
except KeyError:
adjacency_list[i] = lst = []
weight = len(s1.intersection(s2))
lst.append((j, weight))
return adjacency_list
Ce nombre de fonctions avec son chaque jeu index dans sets
. Nous faisons cela parce que les clés dict doivent être immuables, ce qui est vrai pour les entiers mais pas pour les ensembles.
Voici un exemple de la façon d'utiliser cette fonction, et sa sortie:
>>> sets = [set([1,2,3]), set([2,3,4]), set([4,2])]
>>> intersection_graph(sets)
{0: [(1, 2), (2, 1)], 1: [(0, 2), (2, 2)], 2: [(0, 1), (1, 2)]}
1
def MakeGraphfromSets(sets):
egs = []
l = len(sets)
for i in range(l):
for j in range(i,l):
w = sets[i].intersection(sets[j])
egs.append((i,j,len(w)))
return egs
# (source set index,destination set index,length of intersection)
sets = [set([1,2,3]), set([2,3,4]), set([4,2])]
edges = MakeGraphfromSets(sets)
for e in edges:
print e
SORTIE:
(0, 0, 3)
(0, 1, 2)
(0, 2, 1)
(1, 1, 3)
(1, 2, 2)
(2, 2, 2)
Questions connexes
- 1. lancer VS2008 construire à partir de python
- 2. Python: définir plusieurs variables de même type?
- 3. python, définir le type de terminal dans pexpect
- 4. Construire un vecteur à partir de composants contenus dans un autre type de vecteur
- 5. Construire un python mis d'une matrice numpy
- 6. Comment construire à partir de la source?
- 7. Aide à la génération de graphe à partir de l'algorithme
- 8. Construire des DLL .NET à partir du code Python?
- 9. Python distutils.Extension: définir un niveau de concurrence
- 10. Visualisation de graphe en grappe avec python
- 11. YAML - graphe d'objets un-à-plusieurs
- 12. Python: générer un graphe pour un réseau social
- 13. Comment définir le chemin du framework python avant de construire cxfreeze pour python3
- 14. Base de données de graphe et tripletore RDF: stockage de données de graphe en python
- 15. Construire un seul module à partir de multimodule pom
- 16. Comment construire un PythonTuple à partir de C#
- 17. Définir le type de contenu pour les tests à partir de Firefox
- 18. Python win32com: Excel définir le type de graphique à la ligne
- 19. Construire, ou ne pas construire un genre de contrôle Gridview à partir de scrach?
- 20. python lier un type à une variable
- 21. Aider à construire une application mac à partir de python en utilisant py2app?
- 22. À quoi sert le type de tampon Python?
- 23. Comment construire un graphe pondéré avec RGL ou GRATR de Ruby pour réaliser l'algorithme de Dijkstra?
- 24. Comment définir le type UIButton?
- 25. Expression.Constant (valeur, type) type est inconnu. Comment définir le type
- 26. définir le type de comparateur erreur attendue
- 27. Définir le style de TabItem généré dynamiquement à partir App.xaml
- 28. Conversion de traversée de graphe en multitraitement en Python
- 29. Comment construire un objet image dans PIL/Python
- 30. Définir un global dans un module Python à partir d'une API C
On ne sait pas ce que votre ensemble d'ensembles décrit . Un ensemble est-il une collection de nœuds connectés? Si non, comment les bords sont-ils encodés? Un exemple serait utile pour répondre à votre question. – msw
Une image vaut 1000 mots. Soit nous donner l'autre 868 mots ou une sorte d'exemple :) –
Pouvez-vous s'il vous plaît nettoyer votre grammaire et l'orthographe? La première partie de votre question est presque illisible. – allyourcode