问题描述
我有大量信息,我需要将它们作为节点存储在图中;然而,它非常缓慢。这里是关于函数和代码的信息,我怎样才能让它更快? (也许可以使用 numpy 或内置列表运算符?)
node_lines :字符串数组。数组中的每个元素都存储一个节点的信息,它看起来像这样:['5 7'] 这里第一个数字是节点 id,第二个数字是节点的组 id。 node_lines 数组中的每个元素都由这些 id-group id 对作为字符串组成。
这是代码:
for line in node_lines:
info = line.split()
id = int(info[0])
group_id = int(info[1])
node = n.Node(id,group_id) // Node initializer
graph.nodes.append(node) // Adding the node to nodes array in the graph
if group_id> max_group_id: // This part is for finding the maximum group_id in the input
max_group_id= group_id
所以,我在这里所做的基本上是:对于每一行,提取 node_id 和 group_id 信息并将此节点添加到图形中。并且还在每次迭代中寻找最大的 group_id,以便我可以在迭代结束时找到组的总数。
假设“node”和“graph”类函数是有效的,我只是想改进这部分。
for line in edge_lines:
info = line.split()
src = int(info[0])
dst = int(info[1])
edge = e.Edge(src,dst) // Initialization for edge class
graph.edges.append(edge) // Adding edge to the graph
同样,在这一部分,我有一个数组“edge_lines”,其中每个元素都包含一个字符串,例如 '5 7' 对应于边的“源”和“目的地”。然后,将边添加到图中。
这两个代码如何提高效率?我主要是寻求更好的迭代方式,但我也愿意接受任何建议。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)