Автор оригинала: Chris.
Этот учебник научит вас, как написать одна строка для петлей В Python используя популярную экспертную особенность Понимание списка Отказ После того, как вы узнали основы понимания списка, вы узнаете, как ограничить возможности списка, чтобы вы могли быстро и эффективно писать пользовательские фильтры.
Вы готовы? Давайте раскрутим рукава и узнаем о понимании списка в Python!
Основы понимания списка
Следующий раздел основан на моем подробном понимании списка артикул [Ultimate Guide]. Прочитайте более короткую версию здесь или более длинную версию на веб-сайте – вы решите!
Этот обзорный график показывает, как использовать оператор понимания списка для создания списков Python программно:
Понимание списка является компактным способом создания списков. Простая формула – [Выражение + контекст]
Отказ
- Выражение: Что делать с каждым элементом списка?
- Контекст: Какие элементы для выбора? Контекст состоит из произвольного количества
для
иЕсли
заявления.
Пример [X для X в диапазоне (3)]
Создает список [0, 1, 2]
.
Посмотрите на следующий интерактивный кодовый фрагмент – вы можете выяснить, что напечатано в оболочке? Продолжай и нажмите «Беги», чтобы увидеть, что произойдет в коде:
Упражнение : Запустите фрагмент кода и сравните свой догадный результат с фактическим. Вы были правильными?
Теперь, что вы знаете об основах понимания списка (выражение + контекст!), Давайте погрузимся в более продвинутый пример, в котором понимание списка используется для фильтрации, добавляя предложение IF в контексте.
Понимание списка для фильтрации (используя положения)
Вы также можете изменить заявление об понимании списка, ограничивая контекст с другим утверждением:
Проблема Скажем, мы хотим создать список квадратных чисел – но вы считаете только даже и игнорируете нечетные числа.
Пример : Многоизоляционный способ будет следующим.
squares = [] for i in range(10): if i%2==0: squares.append(i**2) print(squares) # [0, 4, 16, 36, 64]
Вы создаете пустой список квадраты
И последовательно добавьте еще один квадратный номер, начиная с 0 ** 2 и заканчивая 8 ** 2, но только учитывая четные номера 0, 2, 4, 6, 8. Таким образом, результат является список [0, 4, 16, 36, 64]
.
Опять же, вы можете использовать список пометков [я ** 2 для i в пределах (10)
Если ]
С ограничителем, если пункт (выделен жирным шрифтом) в контексте, чтобы сжать это в одной строке кода Python:
print([i**2 for i in range(10) if i%2==0]) # [0, 4, 16, 36, 64]
Эта линия выполняет тот же вывод с гораздо меньше битов.
Связанная статья : Python одна линия для петли
Python One-Liners Книга
Python Programmemers улучшит свои навыки информатики с этими полезными одноклассниками.
Python One-listers научит вас читать и писать «одноклассники»: краткие заявления полезных функций, упакованных в одну строку кода. Вы узнаете, как систематически распаковать и понимать любую строку кода Python и писать красноречие, мощно сжатый Python, как эксперт.
Пять главных глав на пять глав обложки советы и трюки, регулярные выражения, машинное обучение, самые темы науки о данных и полезные алгоритмы. Подробные объяснения одноклассников вводят ключевые концепции компьютерных наук и повысить ваши кодировки и аналитические навыки. Вы узнаете о продвинутых функциях Python, такие как понимание списка, нарезки, нарезки, функции лямбда, регулярные выражения, карта и уменьшения функций и нарезки нарезки. Вы также узнаете, как:
• Используйте структуры данных для решения проблем реальных проблем, например, использование булевой индексации для поиска городов с загрязнением выше среднего • Используйте Numpy Основы, такие как массив, форма, ось, тип, вещание, расширенная индексация, нарезка, сортировка, поиск, агрегация и статистика • Рассчитайте базовую статистику многомерных массивов данных и алгоритмы K-означает для безоговорочного обучения • Создайте более усовершенствованные регулярные выражения с помощью группировки и названных групп, отрицательные LookAeads, сбежавшие символы, пробелы, наборы символов (и наборы отрицательных символов) и жадные/негридические операторы • Понимать широкий ассортимент темы компьютерных наук, включая анаграммы, палиндромы, сверты, перестановки, факториалы, простые числа, цифры фибоначчи, обфускации, поиск и алгоритмическую сортировку
К концу книги вы узнаете, как писать Python в его самых утонченных, и создавать краткие, красивые куски «Python Art» в простой строке.
Получите свой Python One-Liners сейчас !!
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.
Оригинал: “https://blog.finxter.com/python-one-line-for-loop-with-if/”