你的列表A现在不就是按所含数字从大到小排列的吗?不过,我还是用正则表达式的方法帮你排了一下序,如果你要数字从小到大排序,只要把alist.sort(key=sort_key,reverse=True)改成alist.sort(key=sort_key,reverse=False)就行了.完整的Python程序如下 import redef sort_key(s): if s: try:...
python 字符串列表中根据字符串内的数字进行排序。
你的列表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 alistA=['abc 15','abd 13','abe 9','abf 6','abg 2']print(strsort(A))
2019-04-19