Ben ve b arasında bir kenar eklemek istediğiniz Python Igraph v1.7 uygulamasında köşe nesnesine sahipsek, köşe numarasını nasıl bulurum? Ben nasıl
a=g.vs(Name_eq="A")
b=g.vs(Name_eq="B")
, go?
Ben ve b arasında bir kenar eklemek istediğiniz Python Igraph v1.7 uygulamasında köşe nesnesine sahipsek, köşe numarasını nasıl bulurum? Ben nasıl
a=g.vs(Name_eq="A")
b=g.vs(Name_eq="B")
, go?
Sen olarak vertexSeq belirli bir köşe erişerek tepe kimliği bulabilir 'a' bir köşe dizisi nesnesidir.
Böyle bir şey, hile yapmalıdır.
a[0].index
Tamam, burada iki sorumuz var gibi görünüyor. Biri soru başlığındadır: "Vertex nesnesine sahipsek, köşe kimliğini nasıl bulabilirim"? Bu doğru answered by Siddharth: yalnızca köşe başının index
özelliğini kullanabilirsiniz. Diğer soru ise soru şudur: "a ile b arasında bir kenar eklemek istiyorum, nasıl giderim?".
g.add_edge(a, b)
Burada
a
ve
b
tip
Vertex
nesnesi olmadığı varsayılır: cevap Vertex nesneleri yanı sıra köşe kimliğini kabul
add_edge
yöntemi kullanmak için basitçe. Ancak, kod snippet'inizden yola çıkarak, esasen yapmak istediğiniz şey, adlarını bildiğiniz iki köşe arasında bir kenar eklemektir. Bu aynı zamanda yapmanız seçimi gibi çalışır ancak yalnızca
ilk eşleşen köşe döndüren
VertexSeq
nesnelerin
find
yöntemi kullanılarak yapılabilir. Yani, sadece yapabilirsiniz: Eğer köşe adlarını saklamak için
name
köşe özelliğini kullanırsanız
g.add_edge(g.vs.find(Name="A"), g.vs.find(Name="B"))
Daha da iyisi, (ve Name
- büyük harf notu), hatta g.vs.find
yürütmesini olmadan adını kendisi kullanabilir iGRAPH davranır beri name
köşe özel öznitelik:
g.add_edge("A", "B")
Sadece denedim çünkü bir sıradan bir [0] yerine, yani add_edge (a [0], b [0]) kullanmak zorunda kaldım, teşekkürler! – Nikhil
Ah, doğru, güncellemelerimi görün. –
soru başlığı yanlıştır; python-igraph'ın bir versiyonu yok 1.7. –