按倒数第二个字符对字符串列表进行排序

emp*_*ngs 4 python sorting string list

我需要使用字符比较对字符串列表进行排序,从倒数第二个元素向下移动到字符串的开头(对于相等的字符)。所以基本上我需要得到这个

in_ = ['message', 'essagem', 'ssageme', 'sagemes', 'agemess', 'gemessa', 'emessag']

result = ['emessag', 'essagem', 'sagemes', 'message', 'ssageme', 'agemess', 'gemessa']
# sorted on second to last character in each string
Run Code Online (Sandbox Code Playgroud)

Mir*_*j50 7

这是你想要的吗?如果是,请将该倒数第二个字母作为该sort()函数的键。

a = ['message', 'essagem', 'ssageme', 'sagemes', 'agemess', 'gemessa', 'emessag']
a.sort(key=lambda x:x[-2])
print(a)
Run Code Online (Sandbox Code Playgroud)

输出:

['emessag', 'essagem', 'sagemes', 'message', 'ssageme', 'agemess', 'gemessa']
Run Code Online (Sandbox Code Playgroud)