1
1
from typing import List
2
2
3
- def ext (file ):
3
+ def ext (file : list ) -> list :
4
+ """
5
+ Control extensions order
6
+ """
4
7
if '.config' in file :
5
8
temp = ['.config' , '' ]
6
9
temp = file .split ('.' )
@@ -11,27 +14,20 @@ def ext(file):
11
14
return temp [::- 1 ]
12
15
13
16
def sort_by_ext (files : List [str ]) -> List [str ]:
17
+ """
18
+ Main function that sort the result after ext function
19
+ """
14
20
return sorted (files , key = ext )
15
21
16
22
17
23
if __name__ == '__main__' :
18
24
19
25
print ("Example:" )
20
- print (sort_by_ext (['1.cad' , '1.bat' , '1.aa' ]))
21
-
22
- # These are used for self-checking
23
26
print ( '\n ' ,
24
- sort_by_ext (['1.cad' , '1.bat' , '1.aa' ]), '\n ' ,
25
- #== ['1.aa', '1.bat', '1.cad']
26
- sort_by_ext (['1.cad' , '1.bat' , '1.aa' , '2.bat' ]), '\n ' ,
27
- #== ['1.aa', '1.bat', '2.bat', '1.cad']
28
- sort_by_ext (['1.cad' , '1.bat' , '1.aa' , '.bat' ]), '\n ' ,
29
- #== ['.bat', '1.aa', '1.bat', '1.cad']
30
- sort_by_ext (['1.cad' , '1.bat' , '.aa' , '.bat' ]), '\n ' ,
31
- #== ['.aa', '.bat', '1.bat', '1.cad']
32
- sort_by_ext (['1.cad' , '1.' , '1.aa' ]), '\n ' ,
33
- #== ['1.', '1.aa', '1.cad']
34
- sort_by_ext (['1.cad' , '1.bat' , '1.aa' , '1.aa.doc' ]), '\n ' ,
35
- #== ['1.aa', '1.bat', '1.cad', '1.aa.doc']
36
- sort_by_ext (['1.cad' , '1.bat' , 'config.aa' , '.aa.doc' ]))
37
- #== ['config.aa', '1.bat', '1.cad', '.aa.doc']
27
+ sort_by_ext (['1.cad' , '1.bat' , '1.aa' ]), '\n ' , # ['1.aa', '1.bat', '1.cad']
28
+ sort_by_ext (['1.cad' , '1.bat' , '1.aa' , '2.bat' ]), '\n ' , # ['1.aa', '1.bat', '2.bat', '1.cad']
29
+ sort_by_ext (['1.cad' , '1.bat' , '1.aa' , '.bat' ]), '\n ' , # ['.bat', '1.aa', '1.bat', '1.cad']
30
+ sort_by_ext (['1.cad' , '1.bat' , '.aa' , '.bat' ]), '\n ' , # ['.aa', '.bat', '1.bat', '1.cad']
31
+ sort_by_ext (['1.cad' , '1.' , '1.aa' ]), '\n ' , # ['1.', '1.aa', '1.cad']
32
+ sort_by_ext (['1.cad' , '1.bat' , '1.aa' , '1.aa.doc' ]), '\n ' , # ['1.aa', '1.bat', '1.cad', '1.aa.doc']
33
+ sort_by_ext (['1.cad' , '1.bat' , 'config.aa' , '.aa.doc' ])) # ['config.aa', '1.bat', '1.cad', '.aa.doc']
0 commit comments