I는 아래와 같이 튜플에서 만들어진리스트를 가지고효율적인 비교
(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])
를하고 작동합니다. 그러나 각각의 경우에 대해 긴 if 문을 정의해야합니다. 루프를 7 개 (각 레벨마다 하나씩) 생성하지 않고도이를 추상화하는보다 효율적인 방법 (알고리즘)이 있습니까?
아주 좋은 정보. 고맙습니다. 두 레벨의 차이는 엄격하게 1 이하가되어야합니다 (이는 리프트가 둘 다 같은 레벨에 있음을 의미합니다) – user228137