>>> import networkx as nx # Creem el graf de l'exemple >>> g = nx.Graph() >>> g.add_nodes_from(['Besnac', 'Ashari', 'Samari', 'Krko', ... 'Grenola', 'Filite', 'Miland', 'Loweh']) >>> g.add_edges_from([ ('Besnac', 'Ashari'), ('Ashari','Samari'), ... ('Besnac', 'Krko'), ('Besnac', 'Grenola'), ... ('Grenola', 'Ashari'), ('Grenola', 'Samari'), ... ('Grenola', 'Krko'), ('Grenola', 'Miland'), ... ('Samari', 'Miland'), ('Miland', 'Loweh') ]) >>> from mapes import fusiona_zones >>> fusiona_zones(g, 'Ashari', 'Samari', 'Ashamari') >>> sorted(g.nodes()) ['Ashamari', 'Besnac', 'Filite', 'Grenola', 'Krko', 'Loweh', 'Miland'] >>> sorted(g['Ashamari']) ['Besnac', 'Grenola', 'Miland'] >>> sorted( (sorted(e) for e in g.edges()) ) # Arestes del graf [['Ashamari', 'Besnac'], ['Ashamari', 'Grenola'], ['Ashamari', 'Miland'], ['Besnac', 'Grenola'], ['Besnac', 'Krko'], ['Grenola', 'Krko'], ['Grenola', 'Miland'], ['Loweh', 'Miland']] >>> fusiona_zones(g, 'Loweh', 'Filite', 'Flowite') >>> sorted(g.nodes()) ['Ashamari', 'Besnac', 'Flowite', 'Grenola', 'Krko', 'Miland'] >>> sorted(g['Ashamari']) ['Besnac', 'Grenola', 'Miland'] >>> sorted( (sorted(e) for e in g.edges()) ) [['Ashamari', 'Besnac'], ['Ashamari', 'Grenola'], ['Ashamari', 'Miland'], ['Besnac', 'Grenola'], ['Besnac', 'Krko'], ['Flowite', 'Miland'], ['Grenola', 'Krko'], ['Grenola', 'Miland']] >>> fusiona_zones(g, 'Besnac', 'Miland', 'Besland') >>> sorted(g.nodes()) ['Ashamari', 'Besland', 'Flowite', 'Grenola', 'Krko'] >>> sorted(g['Besland']) ['Ashamari', 'Flowite', 'Grenola', 'Krko'] >>> sorted( (sorted(e) for e in g.edges()) ) [['Ashamari', 'Besland'], ['Ashamari', 'Grenola'], ['Besland', 'Flowite'], ['Besland', 'Grenola'], ['Besland', 'Krko'], ['Grenola', 'Krko']]