我想提取nodes與陣列中提到的節點號相對應的索引I2。介紹了當前和預期的產出。
import numpy as np
nodes={(0, 0): 1,
(0, 1): 2,
(1, 0): 3,
(1, 1): 4}
I2=np.array([[1,2],[1,3],[2,4],[3,4]])
I3=[[i,i] in I2 for i in nodes]
print("I3 =",[I3])
當前輸出為
[False, False, False, False]
預期的輸出是
I3=np.array([[(0,0),(0,1)],[(0,0),(1,0)],[(0,1),(1,1)],[(1,0),(1,1)]])
uj5u.com熱心網友回復:
您可以先反轉dictionary然后執行以下操作:
import numpy as np
nodes={(0, 0): 1,(0, 1): 2,(1, 0): 3,(1, 1): 4}
rvs_nodes = {v:k for k,v in nodes.items()}
I2=np.array([[1,2],[1,3],[2,4],[3,4]])
I3 = [[rvs_nodes[node[0]], rvs_nodes[node[1]]] for node in I2]
print("I3 =",I3)
輸出:
I3 = [[(0, 0), (0, 1)], [(0, 0), (1, 0)], [(0, 1), (1, 1)], [(1, 0), (1, 1)]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/497796.html
上一篇:如何精確比較嵌套For回圈中的值
