У меня два списка; invoice_ordering_list
и pdfs
. Мне нужно отсортировать pdfs
в порядке invoice_ordering_list
.
invoice_ordering_list = ['265189', '265195', '265114', '265166', '265165', '265115']
pdfs = [
'Est. 57349 April Bill Inv 265115.pdf',
'AH_202015_JUN_57768 265189.pdf',
'AH_202015_MAY FEE_265195.pdf',
'Est. 56534 April Bill Inv 265165.pdf',
'Est. 57279 April Bill Inv 265166.pdf',
'Est. 42477 April Bill Inv 265114.pdf',
]
Я пробовал:
keydict = dict(zip(pdfs, invoice_ordering_list))
pdfs.sort(key=keydict.get)
По какой-то причине он почти получает правильный порядок, но 265189
заканчивается в конце. Я, должно быть, неправильно понимаю, что здесь происходит. это кажется такой простой задачей, что я просто не могу понять.
Результат должен быть:
pdfs_new = [
'AH_202015_JUN_57768 265189.pdf',
'AH_202015_MAY FEE_265195.pdf',
'Est. 42477 April Bill Inv 265114.pdf',
'Est. 57279 April Bill Inv 265166.pdf',
'Est. 56534 April Bill Inv 265165.pdf',
'Est. 57349 April Bill Inv 265115.pdf',
]