Котята, всем понедельника!!
Лайфхак недели снова для вас 💝
Сегодня забираем в копилку одну из тех конструкций Python, после знакомства с которыми длинные решения начинают немного раздражать 😅
На карточке - базовый вариант, который точно стоит научиться узнавать и писать самостоятельно. На ЕГЭ такие небольшие сокращения могут здорово упростить код, поэтому сохраняйте, чтобы не потерять!!
А здесь - небольшой бонус.
Списковое включение умеет не только отбирать нужные элементы, но и сразу изменять их.
Например, хотим получить квадраты всех чисел:
a = [1, 2, 3, 4]
b = [x ** 2 for x in a]
Получим:
[1, 4, 9, 16]
А можно совместить сразу две задачи: выбрать нужные элементы и преобразовать их.
Например, возьмём только чётные числа и сразу возведём их в квадрат:
a = [1, 2, 3, 4, 5, 6]
b = [x ** 2 for x in a if x % 2 == 0]
Получим:
[4, 16, 36]
То есть внутри одной конструкции можно решить сразу две задачи: кого оставить и что с ним сделать..
Но есть важное правило: не нужно пытаться запихнуть в одну строку вообще всё. Если конструкция стала такой длинной, что вы сами перестали понимать, что в ней происходит, - обычный цикл будет намного лучше.
На ЕГЭ цель не написать самый короткий код. Цель - написать код, который вы понимаете и в котором не ошибётесь 💞
Сохраняйте карточку - ещё один полезный инструмент Python в копилку!
Post #3310
80

- ❤ 3
- 🔥 1
- 🤯 1