如何从可迭代对象中删除项目?

问题描述 投票:0回答:1

所以可以说我有一个可迭代的Movies类,而self.movi​​es是Movie对象的列表。如何创建remove_movie方法?我提供的方法不起作用,因为可迭代不是列表?

class Movies:
    def __init__(self):
        self.movies = []

    def __iter__(self):
        return iter(self.movies)

    def add_movie(self, movie):
        pass

    def remove_movie(self, id):
        for movie in self:
            if movie.id == id:
               self.remove(movie)
python iterable
1个回答
0
投票

您遇到属性错误。试试这个:

self.movies.remove(movie)
© www.soinside.com 2019 - 2024. All rights reserved.