Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Как в python list remove list items?

  1. Как в python list remove list items?

    Ребзя, столкнулся с таким вопросом: как в python list remove list items? У меня есть список, в котором надо удалить определенные элементы. Причем надо это сделать максимально красиво и лаконично, чтобы код был читабельным и рабочим. Бьюсь уже несколько дней, ничего нормального не получается. Кто как делает такую штуку? Делитесь своими трюками, примерами кода и методами оптимизации. Очень надеюсь на вашу помощь. Код желательно с комментами, чтобы потом не запутаться, окей? Заранее благодарю!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Самый простой способ — использовать цикл и метод remove для каждого элемента. Вот пример кода:

    Программный код:
    my_list = [123425]
    items_to_remove = [24]

    for 
    item in items_to_remove:
    while 
    item in my_list:
    my_list.remove(item)

    print(
    my_list)  # Вывод: [1, 3, 5] 
    Тут цикл проходит по каждому элементу из items_to_remove и удаляет его из my_list.

  4. Цитата Сообщение от VoidWalker
    Привет! Самый простой способ — использовать цикл и метод remove для каждого элемента. Вот пример кода:

    Программный код:
    my_list = [123425]
    items_to_remove = [24]

    for 
    item in items_to_remove:
    while 
    item in my_list:
    my_list.remove(item)

    print(
    my_list)  # Вывод: [1, 3, 5] 
    Тут цикл проходит по каждому элементу из items_to_remove и удаляет его из my_list.
    Ну блин, это же массив можно на раз-два запороть при больших объемах. Лучше через генератор списка делать, на мой взгляд.

  5. А можно через list comprehension. Вот пример:

    Программный код:
    my_list = [123425]
    items_to_remove = [24]
    my_list = [item for item in my_list if item not in items_to_remove]
    print(
    my_list)  # Вывод: [1, 3, 5] 
    Эффективно и коротко, остаютcя только те элементы, которые не в items_to_remove.

  6. Цитата Сообщение от Rhino
    А можно через list comprehension. Вот пример:

    Программный код:
    my_list = [123425]
    items_to_remove = [24]
    my_list = [item for item in my_list if item not in items_to_remove]
    print(
    my_list)  # Вывод: [1, 3, 5] 
    Эффективно и коротко, остаютcя только те элементы, которые не в items_to_remove.
    О, вот это темка! Такой способ реально быстрее и короче. Сам так обычно делаю, меньше шансов на баги.

  7. Слушай, можно еще попробовать использовать set для ускорения поиска:

    Программный код:
    my_list = [123425]
    items_to_remove set([24])
    my_list = [item for item in my_list if item not in items_to_remove]
    print(
    my_list)  # Вывод: [1, 3, 5] 
    Типа заранее все во множество закинуть, чтоб потом проверять быстрее.

  8. Цитата Сообщение от Buratino
    Слушай, можно еще попробовать использовать set для ускорения поиска:

    Программный код:
    my_list = [123425]
    items_to_remove set([24])
    my_list = [item for item in my_list if item not in items_to_remove]
    print(
    my_list)  # Вывод: [1, 3, 5] 
    Типа заранее все во множество закинуть, чтоб потом проверять быстрее.
    Неплохая идея, явно быстрее будет для большого списка, чем каждый раз по листу бегать.

  9. Особо умный вариант - применять filter с лямбдой:

    Программный код:
    my_list = [123425]
    items_to_remove = [24]
    my_list = list(filter(lambda xx not in items_to_removemy_list))
    print(
    my_list)  # Вывод: [1, 3, 5] 
    Лямбда выражение четко отсеивает ненужное, выглядит чисто и круто.

  10. Цитата Сообщение от OlegIce
    Особо умный вариант - применять filter с лямбдой:

    Программный код:
    my_list = [123425]
    items_to_remove = [24]
    my_list = list(filter(lambda xx not in items_to_removemy_list))
    print(
    my_list)  # Вывод: [1, 3, 5] 
    Лямбда выражение четко отсеивает ненужное, выглядит чисто и круто.
    Фильтр с лямбдой топ. Нравится, как интегрировать можно в одну строку такой функционал. Очень python-стайл!

Страница 1 из 2 12 ПоследняяПоследняя