python - 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)
一次然后将其返回值(整数)作为 的key
参数传递sort
,这没有任何意义(整数不可调用)。
您需要确保传入一个可调用对象。
您还应该考虑使用.find
而不是.index
,因为如果找不到搜索的字符串,.index
则会引发 a 。将返回。ValueError
.find
-1
list_high.sort(key=lambda word: word.find('br'))
推荐阅读
- r - 我是编码新手,我不明白这个错误信息
- javascript - 如何修复博客主页模糊的拇指?
- sql - 具有固定日期和月份但相对年份的 SQL 日期
- sql - 根据匹配的非无效记录转换无效记录
- python - How do I choose 2 random elements from 2 lists and then.pop them so they won't be used again
- html - How to embed video on Lead Dyno page template
- sml - Custom comparator sort in SML?
- javascript - jQuery Find Closest Element Inside div Based on mousemove Event
- suitescript2.0 - Looping Through a Group in Suitescript 2.0
- javascript - style.display == “none” 无法正常工作