저는 파이썬을 처음 사용합니다. 저는 자바 프로그래머입니다. 클래스의 개체 목록이 있습니다. 내 의도는 목록에서 개체를 찾아 제거하는 것입니다.
수업
class commit:
def __init__(self, id, message):
self.id = id
self.message = message
내가 찾고 삭제하려는 코드 :
elif command.startswith("git delete"):
split = command.split();
deleteID = split[2]; // the id which will be deleted.
print('deleteID:' + deleteID)
d1 = {};
for obj in listCommit:
print(obj.id)
if obj.id == deleteID:
print(obj)
listCommit.remove(obj);
d1 = obj;
# listCommit.remove(d1);
나는 이것이 if obj.id == deleteID:
작동하지 않는다는 것을 발견 했습니다.
listCommit.remove(d1);
이 줄은 개체가 종료되지 않는다는 오류를 보여줍니다.
그래서 내 질문은 : 어떻게 목록에서 객체를 찾고 삭제할 수 있습니까?
이 if obj.id == deleteID:
검사는 거짓을 제공하지만 사실이어야합니다.
그 이유는 commit.id
변수가 type int
이고 deleteID
변수가 type str
이고 같은 것은 파이썬에 "5" == 5
있지 않기 때문 True
입니다.
간단히 라인 교체
deleteID = split[2]
와
deleteID = int(split[2])
commit.id
변수 와 호환되도록 데이터 유형을 변환합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다