把 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']
数字和字母两个字典排序的结果,望采纳。