awilum.ru
Статьи Курсы Об авторе

Разделение списка на два по условию в Python

Разделение списка на два по определенному условию - распространенная задача в программировании на Python. Это может понадобиться, например, для разделения данных на основе их типа, значения или какого-то другого критерия.

Использование List Comprehension

List Comprehension - это компактный способ создания списка в Python. Мы можем использовать его для фильтрации элементов списка в соответствии с заданным условием и создания двух новых списков.

# Исходный список
original_list = [10, 20, 30, 40, 50, 60, 70, 80, 90]

# Условие разделения: элементы, большие или равные 50, попадают в один список, остальные - в другой
list_1 = [x for x in original_list if x >= 50]
list_2 = [x for x in original_list if x < 50]

print("Список 1:", list_1)
print("Список 2:", list_2)

Этот код создает два новых списка list_1 и list_2, разделяя элементы исходного списка в соответствии с заданным условием.

Использование функции filter()

Функция filter() позволяет фильтровать элементы последовательности (в данном случае - списка) с использованием заданной функции.

# Функция для фильтрации
def condition(x):
    return x >= 50

# Исходный список
original_list = [10, 20, 30, 40, 50, 60, 70, 80, 90]

# Разделение списка с помощью filter()
list_1 = list(filter(condition, original_list))
list_2 = list(filter(lambda x: not condition(x), original_list))

print("Список 1:", list_1)
print("Список 2:", list_2)

Здесь мы определяем функцию condition(), которая определяет условие разделения списка. Затем мы используем функцию filter() для применения этой функции к исходному списку и создания двух новых списков.

Использование цикла for

Этот метод наиболее явный. Мы можем использовать цикл for, чтобы пройти по каждому элементу исходного списка и добавить его в соответствующий список в зависимости от условия.

# Исходный список
original_list = [10, 20, 30, 40, 50, 60, 70, 80, 90]

# Условие разделения: элементы, большие или равные 50, попадают в один список, остальные - в другой
list_1 = []
list_2 = []

for x in original_list:
    if x >= 50:
        list_1.append(x)
    else:
        list_2.append(x)

print("Список 1:", list_1)
print("Список 2:", list_2)

В этом примере мы используем цикл for, чтобы пройти по каждому элементу исходного списка и добавить его в соответствующий список в зависимости от условия.


Каждый из этих методов позволяет разделить список на два на основе определенного условия. Выбор конкретного метода зависит от вашего стиля программирования и конкретной ситуации, в которой вы работаете.

Хотите стать востребованным Python разработчиком?
Присоединяйтесь к курсу Python Тренажер прямо сейчас!
Научитесь решать разнообразные практические задачи по программированию, которые помогут улучшить ваш уровень программирования на Python.
Не упустите шанс стать экспертом в мире разработки – начните свой путь прямо сейчас!
Обнаружили ошибку в этой статье? Хотите уточнить, обновить или добавить что-то?
Все мои статьи доступны для редактирования на GitHub. Буду благодарен за любое улучшение или исправление!