Как вычесть один список из другого?



  • Есть 2 списка со строками, нужно из одного вычесть строки содержащиеся во втором списке. Как это реализовать?



  • @prakash Организовать цикл. 0_1558868513508_rand_.xml
    Реализуется это все в одном кубике, но меня просили не использовать выполнить код) потому так. В коде так же но на порядки быстрее
    upd оптимизировал для кубиков стало чуть быстрее.



  • @tts9 А без цикла не как? У меня в списке сотни тысяч строк - пол дня ждать пока цикл отработает... Например у вкБаркова есть такой инструмент, он за пару секунд списки обрабатывает, там явно не циклом выполняется.



  • @prakash said in Как вычесть один список из другого?:

    @tts9 А без цикла не как? У меня в списке сотни тысяч строк - пол дня ждать пока цикл отработает... Например у вкБаркова есть такой инструмент, он за пару секунд списки обрабатывает, там явно не циклом выполняется.

    Везде все циклами. Просто делать это надо в режиме запуска, а не записи и будет быстро.



  • @prakash Никак, у вкБаркова тоже цикл, я же указал в коде это отработает на порядок быстрее.
    0_1558873808067_rand_.xml
    Да, в этом скрипте я убрал значение удалять по значению, он убирает по номеру что бы не плодить циклы =). А в общем это тоже самый скрипт.



  • @tts9 said in Как вычесть один список из другого?:

    @prakash Никак, у вкБаркова тоже цикл, я же указал в коде это отработает на порядок быстрее.
    0_1558873808067_rand_.xml
    Да, в этом скрипте я убрал значение удалять по значению, он убирает по номеру что бы не плодить циклы =). А в общем это тоже самый скрипт.

    Вот спасибо тебе мил человек! Уважил нуба))



  • @prakash Заменяйте списки на свои список которые для кастрации и усекновений, VAR_LIST т.е везде в коде на свои значения заменить, список для сравнения VAR_LIST_1 соответственно свое название списка везде в коде. он сравнивает каждый элемент из него со списком для резки.



  • @tts9 said in Как вычесть один список из другого?:

    @prakash Заменяйте списки на свои список которые для кастрации и усекновений, VAR_LIST т.е везде в коде на свои значения заменить, список для сравнения VAR_LIST_1 соответственно свое название списка везде в коде. он сравнивает каждый элемент из него со списком для резки.

    Первый скрипт с циклами работает, а вот второй, к великому моему сожалению, неправильно строки удаляет (не все удаляет, некоторые строки пропускает и они остаются в списке)



  • @prakash А я предупредил=) он убирает не по значению, а по номеру строки, ну индексу который.
    0_1558881810383_rand_.xml
    По факту это три цикла, filter хоть и метод, но такой себе метод) он на больших значениях будет медленнее удаляющего по индексу. Можете использовать этот, или в том убрать

    break;
    

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



  • @prakash said in Как вычесть один список из другого?:

    Есть 2 списка со строками, нужно из одного вычесть строки содержащиеся во втором списке. Как это реализовать?

    Попробуй свой список добавить в конец поверочноного. Удалить дубли. Отрезать все что ниже поверочного. Это будет твой отредактированый


Log in to reply