Reputation: 81
mylist = [
'Attendance w1-2 (Responses) - Form Responses 1.csv',
'Attendance w15-2 (Responses) - Form responses 1.csv',
'Attendance w5-1 (Responses) - Form Responses 1.csv',
'Attendance w7-2 (Responses) - Form Responses 1.csv',
'Attendance w13-2 (Responses) - Form responses 1.csv',
'Attendance w5-2 (Responses) - Form Responses 1.csv',
'Attendance w9-2 (Responses) - Form Responses 1.csv',
'Attendance w4-2 (Responses) - Form Responses 1.csv',
'Attendance w1-1 (Responses) - Form Responses 1.csv',
'Attendance w12-2 (Responses) - Form responses 1.csv',
'Attendance w2-1 (Responses) - Form Responses 1.csv',
'Attendance w14-2 (Responses) - Form responses 1.csv',
'Attendance w3-1 (Responses) - Form Responses 1.csv',
'Attendance w12-1 (Responses) - Form responses 1.csv',
'Attendance w14-1 (Responses) - Form responses 1.csv',
'Attendance w8-2 (Responses) - Form Responses 1.csv',
'Attendance w4-1 (Responses) - Form Responses 1.csv',
'Attendance w15-1 (Responses) - Form responses 1.csv',
'Attendance w3-2 (Responses) - Form Responses 1.csv',
'Attendance w6-2 (Responses) - Form Responses 1.csv',
'Attendance w7-1 (Responses) - Form Responses 1.csv',
'Attendance w2-2 (Responses) - Form Responses 1.csv',
'Attendance w6-1 (Responses) - Form Responses 1.csv',
'Attendance w11-1 (Responses) - Form Responses 1.csv'
]
How to sort this list based on wx-x
?
Upvotes: 0
Views: 56
Reputation: 22282
Do need the output be:
['Attendance w1-1 (Responses) - Form Responses 1.csv',
'Attendance w1-2 (Responses) - Form Responses 1.csv',
'Attendance w2-1 (Responses) - Form Responses 1.csv',
'Attendance w2-2 (Responses) - Form Responses 1.csv',
'Attendance w3-1 (Responses) - Form Responses 1.csv',
'Attendance w3-2 (Responses) - Form Responses 1.csv',
'Attendance w4-1 (Responses) - Form Responses 1.csv',
'Attendance w4-2 (Responses) - Form Responses 1.csv',
'Attendance w5-1 (Responses) - Form Responses 1.csv',
'Attendance w5-2 (Responses) - Form Responses 1.csv',
'Attendance w6-1 (Responses) - Form Responses 1.csv',
'Attendance w6-2 (Responses) - Form Responses 1.csv',
'Attendance w7-1 (Responses) - Form Responses 1.csv',
'Attendance w7-2 (Responses) - Form Responses 1.csv',
'Attendance w8-2 (Responses) - Form Responses 1.csv',
'Attendance w9-2 (Responses) - Form Responses 1.csv',
'Attendance w11-1 (Responses) - Form Responses 1.csv',
'Attendance w12-1 (Responses) - Form responses 1.csv',
'Attendance w12-2 (Responses) - Form responses 1.csv',
'Attendance w13-2 (Responses) - Form responses 1.csv',
'Attendance w14-1 (Responses) - Form responses 1.csv',
'Attendance w14-2 (Responses) - Form responses 1.csv',
'Attendance w15-1 (Responses) - Form responses 1.csv',
'Attendance w15-2 (Responses) - Form responses 1.csv']
If so:
import re
mylist.sort(key=lambda x: float('.'.join(re.findall(' w(\d+)\-(\d+) ', x)[0]
)))
Upvotes: 1