我具有由出元組的列表,例如下面的一個:具有不同值的SETT在字典中的水平鍵有效的比較
(2809.3994479562093, 1032.5989696312365, 0.0), {'level': '2', 'id': '1'})
(增加,但不總是整數,即1,2,3,3B,4A,5,5A,6,7),該id遞增地增加並且僅由整數組成。
我試圖找出的是元組的第一個元素的前兩個值的值,即浮點數2809.399 ...和1032.5989 ...在級別爲+/- 1與我目前的不同。 換句話說,2級ID 1應該在1級可以找ID 1和3
我想出這個如下:
for x in xrange(len(net.lifts)):
if net.lifts[x][1]["level"] == "2":
for y in xrange(len(net.lifts)):
if (net.lifts[y][1]["level"] == "1" or net.lifts[y][1]["level"] == "3") and net.lifts[y][1]["id"] == net.lifts[x][1]["id"]:
print "edge:" + str(net.lifts[x][0][:2]) + str(net.lifts[y][0][:2])
和它的作品。然而,它要求我爲每個案例定義long if語句。 有沒有一個更有效的方法(算法)抽象這個,而不必創建7如果循環(每個級別一個)?
非常好的提示。謝謝。這兩個水平的差別需要嚴格等於1而不是更小(這意味着升降機都在同一水平上) – user228137 2011-02-06 14:29:53