python - Python 中的非顺序循环优化

标签 python optimization loops nonsequential

我有两个字典对象,连接和网络。这可以可视化为图表,其中每个节点都是一台计算机,连接描绘了计算机和节点之间的边缘。网络是唯一网络的字典对象,计算机可以是其中的一部分,例如

1,2  
2,3  
4,5  
5,1 

是节点 1 到 1 的四个连接信息
因此,连接将是 {1->1,2->1,3->1,4->2,5->1}
和网络 {1->0,2->1}
这意味着
计算机 1,2,3,5 是 n/w 1 的一部分
计算机 4 是 n/w 2 的一部分
n/w 2 再次互连到 n/w 1
我必须读取包含数千个此类连接信息的文件
这样做时,对于读取的每个连接信息,我必须执行一个非顺序循环,如下所示

while network.has_key(connections[node1]):
    connections[node1]=network[connections[node1]] 

有没有更好的方法来优化上述循环?如果需要,我可以为此目的分享我的整个代码

最佳答案

我不太明白你的问题,但我觉得与图表相关的问题的常规答案适用于此:

使用NetworkX而不是尝试提出自己的数据表示和算法。它可能更难学,但从长远来看,它会节省你的时间和麻烦。

关于python - Python 中的非顺序循环优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7637928/

相关文章:

python - 在带有日期的python中有条件地删除行

Python/Pandas : combine columns from 2 dataframes based on match of values between columns, 但无法使用合并

python - numpy.subtract 但仅直到差异达到阈值 - 用阈值替换小于该值的数字

php - 在循环外创建查询

mysql - 从数百万条记录中选择一条记录慢

javascript - 如何将 onclick 事件附加到 vuejs "v-for="生成的每个项目以显示或隐藏其内部元素

python - 运行器中的 salt-key 命令

python - 如何在函数中返回可选参数

MySQL SQL : UPDATE while doing a JOIN on non-normalized table?

C++程序不读取公式