(删除重复项)将其中一本书副本添加到我的字符串中

时间:2017-03-03 20:44:04

标签: python

    def search(self, string):
        result = ""
        if len(string) >= 4:
            for book in self.collection:
                if (string.lower() in book.get_title().lower):
                    result += str(book)
            return result

我有一个库类,它有library.collection作为图书对象的列表,现在我想搜索"字符串"并返回我想要的书,上面是我的代码。 book类有方法get_title(),返回"标题"本书adn str(book)返回一个字符串" book id:book title"

这很有效,例如当我搜索""" 我得到了

    10: Under the Net
    11: Under the Net
    117: Under the Skin

但我有两本书"在网下#34;

我只是想找到其中一个,所以对于我搜索的每个字符串,如果有一本书的几个副本,我只想在我的结果中添加一个str(book)。 任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:-1)

使用集合而不是字符串作为结果。集合不允许重复,并且向元素添加元素比附加到字符串更快。如果这是你想要的,你可以使用join在最后创建一个字符串。

def search(self, string):
    results = set()
    if len(string) >= 4:
        for book in self.collection:
            if (string.lower() in book_title.get_title().lower):
                results.add(str(book))
        return "".join(results)