我正在开发一个用于网络分析的大型库,并且遇到了一条令人困惑的线路,我不熟悉它的调用约定。
monitors = [1,2,3,4]
nmonitors = 7 # This value is passed arbitrarily to the function
while len(monitors) < nmonitors:
remaining = np.arange(len(routers)) # len(routers) here is == 5
for i in monitors:
remaining = remaining[remaining != i]
monitors.append(np.random.choice(remaining))
循环内部的问题行,它remaining
通过基于i
和自身的条件索引数组。经过一些调试后,它似乎不仅仅是评估布尔值并使用该布尔值索引数组?
是否有人熟悉此语法/约定并能够将我指向 numpy 文档的相关部分或进行解释?找了好几个小时还是没有结果,谢谢。