Subgraphs II
पिछले अभ्यास में, हमने आपको नोड्स की एक लिस्ट दी थी और आपसे उनके पड़ोसियों को निकालने के लिए कहा था.
आइए एक और अभ्यास करें जिसमें आप किसी ख़ास मेटाडेटा प्रॉपर्टी वाले नोड्स और उनके पड़ोसियों को निकालेंगे. इससे आपको याद आएगा कि नोड्स ढूँढने के लिए लिस्ट कॉम्प्रिहेंशन कैसे उपयोग करते हैं. यह अभ्यास उन फंक्शनों को मिलाकर इस्तेमाल करने की आपकी क्षमता भी बढ़ाएगा जिन्हें आप पहले लिख चुके हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में नेटवर्क विश्लेषण का परिचय
अभ्यास निर्देश
- लिस्ट कॉम्प्रिहेंशन का उपयोग करके उन नोड्स को निकालें जिनके मेटाडेटा में
'occupation'का मान'celebrity'है, और साथ में उनके पड़ोसी भी:- लिस्ट कॉम्प्रिहेंशन का output expression
nहै, और इसमें दो iterator variables हैं:nऔरd. iterable हैTके नोड्स की लिस्ट (मेटाडेटा सहित, जिसे आपdata=Trueदेकर पा सकते हैं) और conditional expression यह है कि मेटाडेटा डिक्शनरीdकी'occupation'key का मान'celebrity'हो.
- लिस्ट कॉम्प्रिहेंशन का output expression
- इन्हें
T_subनाम के नए सबग्राफ में रखें. ऐसा करने के लिए:- नोड्स पर iterate करें, हर नोड के पड़ोसियों की गणना करें, और
.union()मेथड का उपयोग करके उन्हेंnodesetनाम के नोड्स के सेट में जोड़ें. यह आख़िरी हिस्सा आपके लिए कर दिया गया है. nodesetकोT.subgraph()मेथड के साथ उपयोग करकेT_subनिकालें.
- नोड्स पर iterate करें, हर नोड के पड़ोसियों की गणना करें, और
T_subको स्क्रीन पर ड्रॉ करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Extract the nodes of interest: nodes
nodes = [n for n, d in ____ if ____ == ____]
# Create the set of nodes: nodeset
nodeset = set(nodes)
# Iterate over nodes
for n in ____:
# Compute the neighbors of n: nbrs
nbrs = ____
# Compute the union of nodeset and nbrs: nodeset
nodeset = nodeset.union(nbrs)
# Compute the subgraph using nodeset: T_sub
T_sub = ____
# Draw T_sub to the screen
____
plt.show()