Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Some another way to sort solution in Uncategorized category for Sort by Extension by Kolia951
def sort_by_ext(files: list[str]) -> list[str]:
# define names and extensions
name = [i[:i.rfind(".")] for i in files]
ext = [i.rsplit(".", maxsplit=1)[1] for i in files]
# sorting tuples with three elements in every one (by file extension and by name)
merged = list(zip(files, name, ext))
merged_sort = sorted(merged, key=lambda x: (x[2], x[1]))
no_name = []
with_name = []
# put all files with no name to the start of the list
for i in merged_sort:
if i[1] == "":
no_name.append(i[0])
else:
with_name.append(i[0])
return no_name + with_name
print("Example:")
print(sort_by_ext(["1.cad", "1.bat", "1.aa"]))
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("The mission is done! Click 'Check Solution' to earn rewards!")
Nov. 10, 2022
Comments: