我正在尝试制作一个小型终端搜索引擎(python 3.9, VS Code),我将此函数作为排序的关键函数。当我不写list参数时,list.index
是没有意义的,当我写它时,它返回一个错误,你能检查一下吗?
def soort(self, keyword):
return self.index(keyword)
list_high = []
listname = ['breaking bad', 'dark', 'stranger things',
'vikings', 'game of thrones', 'prison break',
'sherlock', 'silicon valley', 'lost', 'friends']
search = 'br'
for name in listname:
if search in name:
list_high.append(name)
list_high.sort(key=soort(list_high, search))
print(list_high)
list_high.sort(key=soort(list_high, search))
调用soort(list_high, search)
一次,然后传递它的返回值(一个整数)作为sort
的key
参数,这是没有意义的(整数是不可调用的)
你需要确保传入一个可调用对象
您还应该考虑使用.find
而不是.index
,因为.index
如果找不到搜索的字符串将引发ValueError
。.find
将返回-1
。
list_high.sort(key=lambda word: word.find('br'))