蟒蛇.如何优化搜索功能

2 python optimization list

有什么方法可以优化这两个功能?

第一个功能:

def searchList(list_, element):
    for i in range (0,len(list_)):
        if(list_[i] == element):
            return True      
    return False
Run Code Online (Sandbox Code Playgroud)

第二功能:

return_list=[]
for x in list_search:
    if searchList(list_users,x)==False:
        return_list.append(x)
Run Code Online (Sandbox Code Playgroud)

vau*_*tah 5

是:

return_list = [x for x in list_search if x not in list_users]
Run Code Online (Sandbox Code Playgroud)

第一个函数基本上检查成员资格,在这种情况下你可以使用in关键字.第二个函数可以简化为列表理解,list_search根据您的条件从列表中过滤掉元素.

  • `in`是O(n)列表.如果你想变得非常疯狂,你可以写一个二进制搜索(如果适用),这将减少这个登录! (2认同)