python排序函数的入口函数



我正在尝试制作一个小型终端搜索引擎(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)一次,然后传递它的返回值(一个整数)作为sortkey参数,这是没有意义的(整数是不可调用的)

你需要确保传入一个可调用对象

您还应该考虑使用.find而不是.index,因为.index如果找不到搜索的字符串将引发ValueError.find将返回-1

list_high.sort(key=lambda word: word.find('br'))

相关内容

  • 没有找到相关文章

最新更新