Программа курса:
Разбор задачи: Сортировка массива по четности
Предложенный нами код решения:
def moveEvenToFront(nums):
"""
:type nums: List[int]
:rtype: List[int]
"""
# Разделяем числа на чётные и нечётные
even = [x for x in nums if x % 2 == 0]
odd = [x for x in nums if x % 2 != 0]
# Объединяем чётные и нечётные
return even + odd1. Объявление функции
def moveEvenToFront(nums):
Функция принимает один аргумент:
nums: список целых чисел.
2. Разделение чисел на чётные и нечётные
even = [x for x in nums if x % 2 == 0]
С помощью списочного включения мы перебираем каждое число x в списке nums и проверяем, делится ли оно на 2 без остатка (x % 2 == 0). Если условие выполняется, число добавляется в новый список even, который содержит только чётные числа.
Пример:
Для входного списка nums = [3, 1, 2, 4] результат будет:
even = [2, 4].
odd = [x for x in nums if x % 2 != 0]
Аналогичным образом создаётся список odd, в который добавляются только нечётные числа из nums. Проверка выполняется с помощью условия x % 2 != 0.
Пример:
Для входного списка nums = [3, 1, 2, 4] результат будет:
odd = [3, 1].
3. Объединение списков
return even + odd
Функция возвращает новый список, созданный объединением двух списков:
- сначала добавляются все элементы из списка
even, - затем добавляются все элементы из списка
odd.
Пример работы функции
Для входных данных nums = [3, 1, 2, 4]:
- Список чётных чисел:
even = [2, 4]. - Список нечётных чисел:
odd = [3, 1]. - Объединённый список:
[2, 4] + [3, 1] = [2, 4, 3, 1].
Функция возвращает [2, 4, 3, 1].
xsnm
,even = [x for x in nums if x % 2 == 0] ^^^^ [8,2,4,6]>>>[8,2,4,6] =>// [2,4,6,8]