这里我尝试根据一个字符串对字符串列表进行排序,这里是我的测试用例
第一种情况:
par_str = "abcd"
list_str = ['bb','ba','ab']
sorted(list_str, key=par_str)
输出:['ab','ba','bb']
第二种情况:
par_str = "bacd"
list_str = ['bb','ba','ab']
sorted(list_str, key=par_str)
输出:['bb','ba','ab']
从第一个案例列表开始,根据par_str
字符串更改顺序。第二个测试用例的列表顺序没有改变,因为它具有相同的优先级。那么如何写上面的逻辑。我试过了,但是我得到一个错误TypeError: 'str' object is not callable
如果
par_str
足够长,那么在@falsetru的答案中使用助手dict
是值得的。你知道吗如果希望能够测试键函数,最好使用完整的函数定义,而不是lambda
这里有一个小技巧,使关键的功能非常快。(dict与@falsetru的略有不同)
在字符和列组之间建立映射,并在
key
函数中使用该信息。你知道吗相关问题 更多 >
编程相关推荐