for p, t in chain.from_iterable([chain([("type","path")],list(zip(repeat(x,10), y)),[("", f"(another {len(list(y))+1})")]if next(y,None)else[])for x, y in groupby(sorted(Path('/proc').iterdir(), key=lambda x: x.lstat().st_mode), key=lambda x: x.lstat().st_mode)]): print("{!s:<30}{:<10}".format(t, p))