Я пытаюсь «продолжить» мою одну подкладку и наткнулся на этот бит. Просто использовать некоторое время было бы достаточно, если бы я не запретил себе использовать несколько строк.Создание списка до тех пор, пока определенное условие не будет выполнено с использованием одной строки
Таким образом, проблема выборки я пытаюсь решить следующим образом (нашел на одном из этих кодирующих участков: codercharts, codeeval и т.д.):
Проблема заключается в следующем: выберите номер, переверните его цифры и добавьте их в оригинал. Если сумма не является палиндром (это означает, что это не то же самое число слева направо и справа налево), повторите эту процедуру.
Супер простой, не так ли? Простой пока хватит, но я не знаю, как генерировать числа до тех пор, пока не будет выполнено определенное условие. Я проверил itertools.takeWhile
и itertools.dropWhile
, но они работают с существующими списками, которые мне все равно придется создавать.
Я пробовал генераторы, которые работают, но я не знаю, как сжать их в одной строке.
Argh, в Haskell, создающем бесконечный список, а затем с использованием takeWhile, но в Python я застрял. Будем очень благодарны за любые указатели в правильном направлении.
Редактировать: Чтобы быть более кратким, я пытаюсь сделать это на одной строке (за вычетом импорта, конечно).
Это питон вопрос или вопрос Haskell? И что это * вопрос, точно? – crockeea
«Арг, в Haskell, создающем бесконечный список, а затем с использованием takeWhile, но в Python я застрял» - я думаю, она хочет Python! – Dayan
Может быть, рекурсивная лямбда-функция? –