Рубрики
Без рубрики

Python одна строка во время цикла [простой учебник]

Вау, не пропустите этот питонский трюк пишущего на петлю в качестве питона одноклассника. Вложенные для петлей, понимание списка и тройного оператора.

Автор оригинала: Chris.

Python мощный – вы можете конденсироваться многие алгоритмы в Одно строка кода Python Отказ Так возникает естественный вопрос: Можете ли вы написать While Loop в одной строке кода ? Эта статья исследует этот критический вопрос о критическом вопросе во всех деталях.

Как написать цикл While в одной линейке кода Python?

Есть три способа написания одноклассника во время цикла:

  • Метод 1 : Если корпус петли состоит из одного утверждения, напишите это утверждение в ту же строку: Пока правда: Печать («Привет») Отказ Это печатает строку «Привет» в оболочку до тех пор, пока вы не вмешиваетесь или ваша операционная система насильственно заканчивает выполнение.
  • Способ 2: Если корпус петли состоит из нескольких утверждений, используйте точку с запятой, чтобы отделить их: Пока правда: Печать («Привет), Печать (« BYE ») Отказ Это запускает операторы один за другим в рамках цикла.
  • Метод 3 : Если корпус петли состоит из вложенных составных утверждений, замените внутренние составные структуры с тройным оператором: Пока правда: Печать («Привет»), если условие еще печатают («BYE» ).

Упражнение : Запустите код. Что вы наблюдаете? Попробуйте исправить бесконечную петлю!

Далее вы будете глубоко в каждом из этих методов и стать лучшим кодером в процессе.

Прежде чем мы будем двигаться дальше, я взволнован, чтобы представить вам свою новую книгу Python Python One-listers (Amazon Link).

Если вам нравятся одноклассники, вы будете любить книгу. Это научит вам все, что нужно знать о Одно строка кода Python. Но это тоже Введение в компьютерную науку , наука о данных, машин обучения и алгоритмы. Вселенная в одной строке Python!

Книга выпускается в 2020 году с помощью книги по программированию по всему мировому классу «Ностарх» (Сан-Франциско).

Но достаточно промо, давайте погрузимся в первый метод – профайн …

Метод 1: одностороннее оператор во время петли одноклассника

Просто пишите цикл While в одну строку кода – самый прямой способ выполнения задачи. Скажем, вы хотите написать следующий бесконечный петлю в одной строке кода:

while True:
    print('hi')
'''
hi
hi
...
'''

Вы можете легко сделать это, написав команду в одну строку кода:

# Method 1: Single-Line While Loop
while True: print('hi')

Хотя этот ответ кажется простым, интересный вопрос: Можем ли мы написать более сложный, пока цикл, который имеет более длинный корпус петлей в одной строке?

Связанная статья: Если вы заинтересованы в сжатии целых алгоритмов в одну строку кода, проверьте Эта статья с 10 Python One-Listers это вписывается в один твит.

Давайте рассмотрим альтернативный питонский трюк, который очень популярен среди мастеров Python:

Метод 2: Multi-Shete при петле одноклассника

Как оказывается, вы также можете использовать Semicolon для разделения нескольких независимых утверждений и выражают их в одной строке. Утверждение выражение1; Expression2 Читает «Первый execute Expression1 , затем выполнить Expression2 Отказ

Вот пример того, как вы можете запустить цикл While, пока счетчик счетчика C . достигает порога C .:

c = 0
while c < 10: print(c); c = c + 1
'''
0
1
2
3
4
5
6
7
8
9
'''

Таким образом, вы можете легко сжать «плоские» телы петли в одной линейке кода Python.

Но что, если корпус петли не плоский, но вложенный в иерархическую манеру – как выразить те, которые вложенными, когда петли в одной строке?

Способ 3: вложенные составные операторы во время петли одноклассника

Вы часто хотите использовать Составные утверждения В Python, которые являются заявлениями, которые требуют отступов блока, такого как в случае операторов или в то время как петли.

В предыдущих методах вы видели простые, в то время как петли одноклассники с одним оператором корпуса петли, а также несколько операторов корпуса цикла с запятой.

Проблема : Но что, если вы хотите использовать соединение оператора в течение простого во время петли – в одной строке кода?

Пример : Следующее утверждение работает просто хорошо:

# YES:
if expression: print('hi')

Вы также можете добавить несколько заявлений:

# YES:
if expression: print('hi'); print('ho')

Но вы не можете использовать вложенные составные утверждения в одном лапке в одном лайнере:

# NO:
while expression1: if expression2: print('hi')

Python бросает ошибку. не работать, потому что оба в то время как и Если С заявлениями являются соединение.

Тем не менее, есть простое решение, чтобы сделать эту работу. Вы можете заменить Если Expression2: Печать («Привет») Часть с Тернарный оператор и использовать выражение, а не составное утверждение:

# Method 3: One-Line While Loop + Ternary Operator
while True: print('yes') if True else print('no')

Вы также можете использовать вложенные операторы Ternary для учетной записи, возможно, вложенные, если блоки:

Похожие видео: одна строка для цикла

Вы можете узнать больше о однострочной петле в своей подробной статье здесь.

Куда пойти отсюда

Знание малых питонов одноклассников, таких как понимание списка и одноразовые для петель, жизненно важно для вашего успеха на языке Python. Каждый экспертный кодер знает их в конце концов, это то, что делает их очень продуктивными.

Если вы хотите узнать язык Python by Heart, присоединяйтесь к моим бесплатным курсу электронной почты Python. Это на 100% на основе бесплатных чис-листов Python и урокам Python. Это весело, легко, и вы можете оставить в любое время.

Python One-Liners Книга

Python Programmemers улучшит свои навыки информатики с этими полезными одноклассниками.

Python One-listers научит вас читать и писать «одноклассники»: краткие заявления полезных функций, упакованных в одну строку кода. Вы узнаете, как систематически распаковать и понимать любую строку кода Python и писать красноречие, мощно сжатый Python, как эксперт.

Пять главных глав на пять глав обложки советы и трюки, регулярные выражения, машинное обучение, самые темы науки о данных и полезные алгоритмы. Подробные объяснения одноклассников вводят ключевые концепции компьютерных наук и повысить ваши кодировки и аналитические навыки. Вы узнаете о продвинутых функциях Python, такие как понимание списка, нарезки, нарезки, функции лямбда, регулярные выражения, карта и уменьшения функций и нарезки нарезки. Вы также узнаете, как:

Используйте структуры данных для решения реальных проблем, такие как использование булевой индексации для поиска городов с загрязнением выше среднего Используйте Numpy Basics, такие как массив, форма, ось, тип, вещание, расширенная индексация, нарезка, сортировка, поиск, агрегация и статистика Рассчитайте базовую статистику многомерных массивов данных и алгоритмы K-означает для безоговорочного обучения Создайте более усовершенствованные регулярные выражения с помощью группировки и названных групп, отрицательные LookAeads, сбежавшие символы, пробелы, наборы символов (и наборы отрицательных символов) и жадные/негридические операторы Понимать широкий ассортимент темы компьютерных наук, включая анаграммы, палиндромы, сверты, перестановки, факториалы, простые числа, цифры фибоначчи, обфускации, поиск и алгоритмическую сортировку

К концу книги вы узнаете, как писать Python в его самых утонченных, и создавать краткие, красивые куски «Python Art» в простой строке.

Получите свой Python One-Liners сейчас !!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.