나는 더 디버깅 정보를 내 IDE (를 PyDev)의튜플 목록에서 var [0]을 기반으로 튜플을 제거하려고 시도했지만 일부는 남아 있습니다? 이 부분의 코드는 [튜플()]은 목록에서 "전술"(튜플)를 제거되지 않는 이유
def _cleanup(self):
for tactic in self._currentTactics:
if tactic[0] == "Scouting":
if tactic[1] in self._estimate.currently_visible:
self._currentTactics.remove(tactic)
elif tactic[0] == "Blank":
self._currentTactics.remove(tactic)
elif tactic[0] == "Scout":
self._currentTactics.remove(tactic)
스크린 샷입니다 알아낼 수 없습니다 이용 가능 : http://imgur.com/a/rPVnl#0
편집 : 버그 수정 및 개선. 명확하게하기 위해 "빈칸"이 제거되고 필요하면 "정찰"이 제거되며 "스카우트"전술은 제거되지 않습니다.
당신은 이상 반복하고있는 목록을 수정하고 ... 참조 [이 게시물] (http://stackoverflow.com/q/1207406/589206)를 참조하십시오. – hochl
변화하는 콜렉션을 반복하는 것 (특히 요소가 삭제 될 때)은 거의 좋은 생각이 아닙니다. 일반적으로 예기치 않은 동작이 발생합니다. – Fenikso
'copy.copy (self._currentTactics) : '의 전술에 대한 빠른 수정이 될 수 있습니다. – Fenikso