मैंने एक सीएसवी फ़ाइल में मूल्यों को जोड़ा है। युग्मित मूल्यों में से कोई भी जरूरी नहीं है। मैं इस बड़ी सूची को और विश्लेषण के लिए स्वतंत्र पूर्ण सेट में विभाजित करना चाहता हूं।युग्मित मूल्यों के tuples (या सूचियों की सूची) को स्वतंत्र पूर्ण सेट में विभाजित करें?
megalist = [['a', 'b'], ['a', 'd'], ['b', 'd'],['b', 'f'], ['r', 's'], ['t', 'r']...]
सबसे महत्वपूर्ण बात, उत्पादन बनती मूल्यों (अर्थात, मूल्यों को मजबूत नहीं) की सूची की रक्षा करेगा:
समझाने के लिए, मेरे "megalist" की तरह है। आदर्श रूप से, आउटपुट अंततः अलग-अलग विश्लेषण के लिए विभिन्न सीएसवी फाइलों के परिणामस्वरूप होगा। उदाहरण के लिए, इस megalist होगा:
completeset1 = [['a', 'b'], ['a', 'd'], ['b', 'd'], ['b', 'f']]
completeset2 = [['r', 's'], ['t', 'r']]
...
एक ग्राफ सिद्धांत संदर्भ में, मैं स्वतंत्र रेखांकन में परस्पर अनन्य subgraphs का एक विशाल ग्राफ (जहां बनती मूल्यों कोने से जुड़े हुए हैं) लेने की कोशिश कर और उन्हें विभाजित कर रहा हूँ कि अधिक प्रबंधनीय हैं। किसी भी इनपुट के लिए धन्यवाद!
संपादित करें 1: यह मुझे उस स्थान पर रखता है जहां से मैं आगे बढ़ सकता हूं। एक बार फिर धन्यवाद!
import sys, csv
import networkx as nx
megalist = csv.reader(open('megalistfile.csv'), delimiter = '\t')
G = nx.Graph()
G.add_edges_from(megalist)
subgraphs = nx.connected_components(G)
output_file = open('subgraphs.txt','w')
for subgraph in subgraphs:
output_line = str(G.edges(subgraph)) + '\n'
output_file.write(output_line)
output_file.close()
ध्वनि आप जोड़ी में दोनों तत्वों के खिलाफ एक BFS चाहते की तरह । –
इसका उत्तर यहां दिया गया है: http://stackoverflow.com/a/1348995/1267329 –