リストから UserList クラスを継承し、次のメソッドを実装して、削除済みとマークされたエントリを削除しました
def purge_deleted(self):
for element in list.__iter__(self):
if ele.mark_deleted < 1:
self.remove(element)
要素自体は、比較演算子をオーバーライドするメソッドを持つ複雑なエンティティです
質問
- 上記のコードはオブジェクトの削除に成功しますか?
- リストから要素を削除するためにPythonは内部的にどのように機能しますか?
- 同じリストを同時に反復して変更すると、問題が発生しませんか?