Разбор задачи: Сортировка массива по четности

Предложенный нами код решения:

 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 + odd

1. Объявление функции

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]:

  1. Список чётных чисел: even = [2, 4].
  2. Список нечётных чисел: odd = [3, 1].
  3. Объединённый список: [2, 4] + [3, 1] = [2, 4, 3, 1].

Функция возвращает [2, 4, 3, 1].

 


0

Комментарии

xsnm_avatar
xsnm
,
5 месяцев, 20 дней назад

even = [x for x in nums if x % 2 == 0] ^^^^ [8,2,4,6]>>>[8,2,4,6]  =>// [2,4,6,8]

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии