1. Python / Говнокод #2922

    −129.4

    1. 1
    s = ''.join([s[i] for i in range(len(s)-1,-1,-1)])

    Найдено, как вариант реверсирования строки

    Запостил: arcanum, 02 Апреля 2010

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

    • мдя. не судьба было написать s[::-1]
      Ответить
      • ну и хаки в питоне

        неинтутивно выглядит
        Ответить
        • Для тех, кто знает только синтаксис C подобных языков, возможно и неинтуитивно. Но достаточно изучить срезы в python, чем писать по незнанию уродский код выше. Это яркий пример быдлокода новичка: генераторы списка к тому же он знает, а срезы - нет.
          Ответить
          • ну я вот знаю поверхностно питон, в том числе срезы. но из кода вида s[::-1] всё равно не сразу вдуплить, что это реверс.

            конечно эот можно отработать до уровня мышления шаблонами, но хз
            Ответить
            • я к тому шо лучше иметь чонить типа s.reverse()
              Ответить
              • Это чонить называется reversed
                Ответить
                • К сожалению, реверсед со строками работает странновато (во всяком случае в 2.6).
                  print reversed('abc') выдаёт "<reversed object at 0x00C84490>", преобразование в строку через str() тоже не выход.
                  Так что s[::-1] - таки самый простой и удобный метод.
                  Ответить
                  • А что вы хотели, чтобы выдавал?
                    print ''.join(reversed('abc'))
                    Ответить
    • Функциональненько!
      Ответить
    • Это называется "стандартные функции языка по своему"
      Ответить
    • Перед тем как написать - погугли. Stackoverflow.com рулит - именно там я нашел инверсию строки r = s[::-1].
      Ответить

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