# 列表中 数字+字符 组合排序方法
wk = ['14周', '18周', '15周', '17周', '16周']
import re
def tryint(s): # 将元素中的数字转换为int后再排序
try:
return int(s)
except ValueError:
return s
def str2int(v_str): # 将元素中的字符串和数字分割开
return [tryint(sub_str) for sub_str in re.split('([0-9]+)', v_str)]
def sort_humanly(v_list): # 以分割后的list为单位进行排序
return sorted(v_list, key=str2int)
wk = sort_humanly(wk)
wk =['14周', '15周', '16周', '17周', '18周']