python如何使用list语法重新排列列表

把 L = [‘14-002’, ‘Kim’, ‘13-009’, ‘Lee’, ‘16-005 ’, ‘ Na’, ‘15-003’, ‘Kim’]
变成[‘13-009’, ‘Lee’, ‘14-002’, ‘Kim’, ‘15-003’, ‘Kim’, ‘16-005 ’, ‘ Na’]
这个样子
好难……………………

 import re
L = ['14-002', 'Kim', '13-009', 'Lee', '16-005', 'Na', '15-003', 'Kim', '13-020']
pattern = re.compile(r'\d+-\d+')
num_L = []
for i in L:
    if re.match(pattern, i) is not None:
        num_L.append(i)

# 如果L数组中结构是固定的,那么可以用切片方式提取num_L = L[0::2]

print(num_L)
num_L.sort()
print(num_L)
result_L = []
for i in num_L:
    if L.index(i)+1 < len(L):
        result_L.append(i)
        result_L.append(L[L.index(i)+1])

print(result_L)

----------------------------打印结果-------------------------------------
['14-002', '13-009', '16-005', '15-003', '13-020']
['13-009', '13-020', '14-002', '15-003', '16-005']
['13-009', 'Lee', '14-002', 'Kim', '15-003', 'Kim', '16-005', 'Na']

数字和字母两个字典排序的结果,望采纳。