from itertools import chain from timeit import timeit var ='sans' res = [var[:i] +' '+ var[i:] for i in range(len(var))] def RoadRunner(): return list(chain.from_iterable(map(str.split, res))) def StefanPochmann(): return [s for r in res for s in r.split()] def pault(): return " ".join(res).split() def Dekel(): return [x for y in [res[i].split() for i in range (len(res))] for x in y] n = 10000 print("RoadRunner time:", timeit(RoadRunner, number = n)) print(RoadRunner()) print() print("StefanPochmann time:", timeit(StefanPochmann, number = n)) print(StefanPochmann()) print() print("pault time:", timeit(pault, number = n)) print(pault()) print() print("Dekel time:", timeit(Dekel, number = n)) print(Dekel()) print()
Standard input is empty
RoadRunner time: 0.027711997739970684 ['sans', 's', 'ans', 'sa', 'ns', 'san', 's'] StefanPochmann time: 0.0212768716737628 ['sans', 's', 'ans', 'sa', 'ns', 'san', 's'] pault time: 0.007157155312597752 ['sans', 's', 'ans', 'sa', 'ns', 'san', 's'] Dekel time: 0.029919116757810116 ['sans', 's', 'ans', 'sa', 'ns', 'san', 's']