Решение 1. Взрослые
ages = [12, 17, 24, 18, 30]
adults = [age for age in ages if age >= 18]
print(adults)Фильтр находится после for и пропускает только age >= 18.
Решение 2. Форматирование имён
names = ["John", "Anna", "Zoe", "Mark"]
formatted_names = [name.lower() if len(name) > 3 else name.upper() for name in names]
print(formatted_names)if-else выбирает значение для каждого имени.
Решение 3. Разворот матрицы
matrix = [[7, 8], [9, 10], [11, 12]]
flattened = [value * 2 for row in matrix for value in row]
print(flattened)Порядок for такой же, как во вложенном цикле.
Решение 4. Очередь deque
from collections import deque
queue = deque()
queue.append(1)
queue.append(2)
queue.popleft()
queue.append(3)
print(queue)popleft() удаляет первый элемент, поэтому остаются 2 и 3.
Решение 5. Правильные скобки
from collections import deque
brackets = "({[}])"
pairs = {")": "(", "]": "[", "}": "{"}
stack = deque()
is_valid = True
for char in brackets:
if char in pairs.values():
stack.append(char)
elif char in pairs:
if not stack or stack.pop() != pairs[char]:
is_valid = False
break
if stack:
is_valid = False
print("Скобки:", brackets)
print("Валидны:", is_valid)Стек хранит открывающие скобки; закрывающая должна соответствовать последней открытой.