Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
native_sort_by_extension solution in Clear category for Sort by Extension by Jon_Red
def sort_by_ext(files:[str])->[str]:
return sorted(sorted(files),key=lambda x:(x.rfind('.')>0)*x.split('.')[-1])
if __name__=='__main__':
# self-check
assert sort_by_ext(['1.cad','1.bat','1.aa']
)==['1.aa','1.bat','1.cad']
assert sort_by_ext(['1.cad','1.bat','1.aa','2.bat']
)==['1.aa','1.bat','2.bat','1.cad']
assert sort_by_ext(['1.cad','1.bat','1.aa','.bat']
)==['.bat','1.aa','1.bat','1.cad']
assert sort_by_ext(['1.cad','1.bat','.aa','.bat']
)==['.aa','.bat','1.bat','1.cad']
assert sort_by_ext(['1.cad','1.','1.aa']
)==['1.','1.aa','1.cad']
assert sort_by_ext(['1.cad','1.bat','1.aa','1.aa.doc']
)==['1.aa','1.bat','1.cad','1.aa.doc']
assert sort_by_ext(['1.cad','1.bat','1.aa','.aa.doc']
)==['1.aa','1.bat','1.cad','.aa.doc']
Sept. 2, 2020
Comments: