使用正则表达式对python中的字符串列表进行排序

2024-10-01 07:43:46 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以使用正则表达式对字符串列表进行排序。我有一个字符串列表,如下所示,我想按版本号对它们进行排序

_(v\d+)_

当前列表

main_cam_v005_01
main_cam_v001_1001
main_cam_v008_1000
main_cam_v003_305
main_cam_v007_1007

期望列表

main_cam_v001_1001
main_cam_v003_305
main_cam_v005_01
main_cam_v007_1007
main_cam_v008_1000

Tags: 字符串列表排序main版本号camv003v001
1条回答
网友
1楼 · 发布于 2024-10-01 07:43:46
>>> import re
>>> data = ['main_cam_v005_01',
            'main_cam_v001_1001',
            'main_cam_v008_1000',
            'main_cam_v003_305',
            'main_cam_v007_1007']
>>> sorted(data, key=lambda i: int(re.match(r'main_cam_v(\d+)_\d+', i).group(1)))
['main_cam_v001_1001',
 'main_cam_v003_305',
 'main_cam_v005_01',
 'main_cam_v007_1007',
 'main_cam_v008_1000']

相关问题 更多 >