我正在尝试编写一个程序,根据项目中的最后一个字符对字符串列表进行排序.
["Tiger 6", "Shark 4", "Cyborg 8"] 我的列表是如何导入的,但我需要根据最后的数字将它们按数字顺序排列.
提前致谢!
Avi*_*Raj 13
我正在尝试编写一个程序,根据项目中的最后一个字符对字符串列表进行排序.
>>> s = ["Tiger 6", "Shark 4", "Cyborg 8"]
>>> sorted(s, key=lambda x: int(x[-1]))
['Shark 4', 'Tiger 6', 'Cyborg 8']
Run Code Online (Sandbox Code Playgroud)
如果最后有多个数字,请尝试此操作.
>>> import re
>>> sorted(s, key=lambda x: int(re.search(r'\d+$',x).group()))
['Shark 4', 'Tiger 6', 'Cyborg 8']
Run Code Online (Sandbox Code Playgroud)
re.search(r'\d+$',x).group() 无论先前的空间如何,都有助于获取最后出现的数字.
小智 5
def last_letter(word):
return word[::-1]
mylst = ["Tiger 6", "Shark 4", "Cyborg 8"]
sorted(mylst, key=last_letter)
Run Code Online (Sandbox Code Playgroud)