Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
ELECTRONIC STATION - "Sort by Extension" solution in Uncategorized category for Sort by Extension by jsg-inet
from typing import List
def sort_by_ext(files: List[str]) -> List[str]:
ext_1st_files=[]
ext_1st_file=''
output_files=[]
output_file=''
for file in files:
if file.count('.')==1 and (file[0]=='.' or file[-1]=='.'):
ext_1st_file=' '+file
else:
ext_1st_file=file[file.rfind('.')+1:]+'.'+file[:file.rfind('.')]
ext_1st_files.append(ext_1st_file)
ext_1st_files.sort()
for file in ext_1st_files:
if file[0]==' ':
output_file=file.strip()
else:
output_file=file[file.find('.')+1:]+'.'+file[:file.find('.')]
output_files.append(output_file)
return output_files
if __name__ == '__main__':
print("Example:")
print(sort_by_ext(['1.cad', '1.bat', '1.aa', '.config', 'config.']))
# These "asserts" are used for self-checking and not for an auto-testing
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']
print("Coding complete? Click 'Check' to earn cool rewards!")
June 21, 2021