Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First pandas solution in 3rd party category for Sort by Extension by _Chico_
from typing import List
import re
import pandas as pd
def sort_by_ext(files: List[str]) -> List[str]:
index_no_name = [re.search('\w+\.', f) is None for f in files]
extensions = [re.search(r'\.[a-z]*$', f).group(0) for f in files]
name_regex = [re.search('\w+\.', f) for f in files]
names = []
for n in name_regex:
if n is not None:
names.append(n.group(0))
else:
names.append(' ')
files_df = pd.DataFrame({'files': files, 'no_name': index_no_name, 'extension': extensions, 'name': names})
files_df = files_df.sort_values(by = ['no_name', 'extension', 'name'], ascending = [False, True, True])
return list(files_df['files'])
May 10, 2021
Comments: