妳的列表A現在不就是按所含數字從大到小排列的嗎?
不過,我還是用正則表達式的方法幫妳排了壹下序,如果妳要數字從小到大排序,只要把alist.sort(key=sort_key,reverse=True)改成alist.sort(key=sort_key,reverse=False)就行了.
完整的Python程序如下
import?redef?sort_key(s):
if?s:
try:
c?=?re.findall('\d+$',?s)[0]
except:
c?=?-1
return?int(c)
def?strsort(alist):
alist.sort(key=sort_key,reverse=True)
return?alist
A=['abc?15','abd?13','abe?9','abf?6','abg?2']
print(strsort(A))