Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Sort by Extension - detailed solution in Clear category for Sort by Extension by shashwat.mehra353
from typing import List
def sort_by_ext(files: List[str]) -> List[str]:
# your code here
blank_f, rem_lst, finalL = list(), list(), list()
my_dict = {}
for item in files:
filename = ".".join(item.split(".")[:-1])
extension = item.split(".")[-1]
if extension not in my_dict.keys():
my_dict[extension] = list()
my_dict[extension].append(filename)
for key in my_dict.keys():
my_dict[key].sort()
for i in sorted(my_dict.keys()) :
for file_ in my_dict[i]:
if file_ == '':
blank_f.append(file_+'.'+i)
else:
rem_lst.append(file_+'.'+i)
blank_f.sort()
finalL = blank_f + rem_lst
return finalL
if __name__ == '__main__':
print("Example:")
print(sort_by_ext(['1.cad', '1.bat', '1.aa']))
# 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!")
May 8, 2021