Змея / Говнокод #931 Ссылка на оригинал

0

  1. 1
  2. 2
list = [1,2,3,4,5,6,7,8,9,10]
string = "%s"*len(list) % tuple(list)

Запостил: guest guest, (Updated )

Комментарии (16) RSS

  • говноед:
    А, ну да. Минуснули пехепешники. Многие из них кретины, не поняли в чем соль.
    Ответить
  • nooob:
    А в чем соль? в том что список произвольной длины может быть и пожрет память? Тогда как то так:

    str = ''.join([repr(el) for el in list])

    или так:

    str = reduce(lambda x,y: str(x)+str(y), list)

    Или таки я торможу на ровном месте и не вижу соли.
    Ответить
  • nooob:
    Кстати, будете смеяться, но вариант с форматной строкой самый быстрый. Для list = range(1,10000000) например. Соответсвенно 8 сек, 13 сек и очень дохера сек для reduce.Вариант с map где-то 13 сек тоже. Расход памяти для говноварианта всего в 1.7 раза больше.
    Ответить
    • А если сразу сделать не list, а tuple, то будет ещё быстрее (у меня с 3.35 до 2.84).
      Ответить
      • # IHNO 4uHu XYZ!
        ___
            ',_`""\        .---,
               \   :-""``/`    |
                `;'     //`\   /
                /   __     |   ('.
               |_ ./O)\     \  `) \
              _/-.    `      `"`  |`.
          .-=; `                  /  ;.
         /o o \   ,_,           .'  '  ;
         L._._;_.-'           .'   '   ;'
           `'-.`           .-'        ,
               `.        .'       ..;'
                 '-._. -'     ..-'
                  ./, \ ...--'
                ,',\../',
              ," ` /. .  ;
              :   ; :  : :
              `.,'  `,   ;
               "     :   :
                      ",'
        Ответить
  • [quote]Дык перцовый же код, годный![/quote]

    Да, если он в программе последний 🙂
    Ответить
  • nooob:
    В конце концов может там потом есть del(list) и del(string)
    Ответить
  • [quote]В конце концов может там потом есть del(list) и del(string)[/quote]

    Угу, и они даже отработают. Но не помогут 🙂
    Ответить
  • nooob:
    ну после del() позвать gc.collect()

    :))

    Но шутки шутками: посмотрел - сборщик мусора действительно работает малопредсказуемо в пистоне, а звать его руками - так он тормозит неприлично.
    Ответить
  • nooob:
    Что к теме отношения не имеет, там чел явно не файл в список читает гигабайтный, явно что-то такое для вывода.
    Ответить
  • anonymous:
    Кроме того list - переопределяет глобальную сущность.
    Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8