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

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

Резюме: Чтобы написать вложенное для цикла в одну строку кода Python, используйте код одноклассника [Print (X, Y) для x в iTer1 для y в iTer2], который итерации по всем значениям x в первом истечении и всех Значения y во второй илетнее. Проблема: как написать вложенное для петли как … Как написать вложенное для петли в одной линии Python? Подробнее “

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

Резюме : Чтобы написать вложенное для цикла в одной строке кода Python, используйте код One-Liner [Печать (x, y) для x в iTer1 для y в iTer2] что итерации по всем ценностям х в первой итеративной и все значения y во втором илетном.

Проблема : Как написать вложенное для петли как Python One-Liner? Грубо говоря, вы хотите повторить за два или более повторных вложенных, которые вложены друг в друга. Вот пример многопроката с двумя вложенными петелью:

iter1 = [1, 2, 3, 4]
iter2 = ['a', 'b', 'c']

for x in iter1:
    for y in iter2:
        print(x, y)

'''
1 a
1 b
1 c
2 a
2 b
2 c
3 a
3 b
3 c
4 a
4 b
4 c
'''

Как выполнить это в одной строке?

Давайте погрузимся в несколько методов! Вот быстрый обзор:

Упражнение Вместо того, чтобы печатать выходы, храните их в трех Списки кортежей . Распечатать то списки После создания их, чтобы ваш вывод имеет три строки!

Метод 1: вложенный список

Первый метод использует мощную функцию понимания списка:

# Method 1: Nested List Comprehension
[print(x, y) for x in iter1 for y in iter2]

Понимание списка является компактным способом создания списков. Простая формула – [Выражение + контекст] Отказ

  • Выражение: Что делать с каждым элементом списка?
  • Контекст: какие элементы выбрать? Контекст состоит из произвольного количества для и Если заявления.

Вот короткий видеоурок на понимании списка в случае необходимости быстрого повышения квалификации:

Способ 2: EXEC ()

Вы всегда можете Односилиризация любых многопроводов Используя встроенный Python EXEC (...) функция.

# Method 2: exec()
exec("for x in iter1:\n    for y in iter2:\n        print(x, y)")

Вы написали многоклассную строку в одну лайнера с помощью символа Newline '\ N' Отказ Обратите внимание, что вы должны убедиться, что три строки правильно отступаются.

Метод 3: Для петли со списком пониманием

Опять же, вы используете список пометков – но теперь только для внутреннего цикла.

# Method 3: For Loop with List Comprehension
for x in iter1: [print(x, y) for y in iter2]

Обратите внимание, что многие кодера считают это «неуклюжему», потому что вы создаете список, состоящий только из Нет Значения – возвратные значения из Печать () Функция звонков.

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

Достаточно теории, давайте познакомимся!

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

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

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

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

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

Оригинал: “https://blog.finxter.com/how-to-write-a-nested-for-loop-in-one-line-python/”