- 1
- 2
list = [1,2,3,4,5,6,7,8,9,10]
string = "%s"*len(list) % tuple(list)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−353.1
list = [1,2,3,4,5,6,7,8,9,10]
string = "%s"*len(list) % tuple(list)
А, ну да. Минуснули пехепешники. Многие из них кретины, не поняли в чем соль.
А в чем соль? в том что список произвольной длины может быть и пожрет память? Тогда как то так:
str = ''.join([repr(el) for el in list])
или так:
str = reduce(lambda x,y: str(x)+str(y), list)
Или таки я торможу на ровном месте и не вижу соли.
Кстати, будете смеяться, но вариант с форматной строкой самый быстрый. Для list = range(1,10000000) например. Соответсвенно 8 сек, 13 сек и очень дохера сек для reduce.Вариант с map где-то 13 сек тоже. Расход памяти для говноварианта всего в 1.7 раза больше.
Да, если он в программе последний :)
В конце концов может там потом есть del(list) и del(string)
Угу, и они даже отработают. Но не помогут :)
ну после del() позвать gc.collect()
:))
Но шутки шутками: посмотрел - сборщик мусора действительно работает малопредсказуемо в пистоне, а звать его руками - так он тормозит неприлично.
Что к теме отношения не имеет, там чел явно не файл в список читает гигабайтный, явно что-то такое для вывода.
Кроме того list - переопределяет глобальную сущность.
только как-то надумано