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

    −102

    1. 1
    2. 2
    3. 3
    4. 4
    x = [1, 2, 3]
    
    for x in [x for x in x]:
        print(x)

    Бля...

    Запостил: gost, 16 Августа 2014

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

    • # we need to go deeper
      for x in [x for x in [x for x in [x for x in [x for x in [x for x in x]]]]]:
          print(x)
      А вообще - в чем проблема заключается? Код ведь явно искусственный.
      Ответить
      • > А вообще - в чем проблема заключается? Код ведь явно искусственный.
        Мозговзрывающий же.
        Ответить
        • > Мозговзрывающий же.
          В каком месте?
          Ответить
          • > В каком месте?
            С 20-го байта и далее.
            Ответить
            • Обыкновеннейший list comprehension, ничего особенного.
              Ответить
              • Для питониста. А для человека со стороны этот ад контекста выглядит не лучше длинных бустошаблоноошибок.
                Ответить
                • Для крестовика-хаскелиста ;)
                  Ответить
                  • да меня тоже не ошарашило
                    Ответить
                    • Ну, значит это у меня от JS, где пишут "var", создавая переменную, где, написав if(0) var x = 0;, всегда создашь x, где в одной функции нельзя два разных x.
                      Ответить
                      • Здесь самый левый x, который в for этот тот же самый x, что и в первой строке. Т.е. он затрет исходный x. Тащемта скопы здесь как в жс и пыхе (т.е. на всю функцию).

                        А вот остальные иксы только внутри своих скобок работают.
                        Ответить
      • https://ideone.com/2lFZTa
        Ответить
      • http://ideone.com/QpZ3UY
        Чё-то не компилится
        Ответить
    • Может автор хотел пройти по копии списка, чтобы исходный можно было изменять?
      Ответить
    • Скорее всего, какая-то заглушка, раньше там могло быть x*2 for x...
      Ответить

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