把 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’]
这个样子
好难……………………
python如何使用list语法重新排列列表
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- SandyLsnSmile 2018-11-07 05:40关注
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']解决 无用评论 打赏 举报