amarao (amarao_san) wrote,
amarao
amarao_san

Category:

computer science: partitioning

У нас есть есть примитив filter, который возвращает из заданного списка элементы, для которых заданная функция True.

А есть ли примитив, который возвращает вместо заданного списка два других, между которыми распределены элементы оригинального списка по признаку True/False переданной функции?

Понятно, что его можно сэмулировать:

yes = filter(iterable, lambda x: x is Good)
no = filter(iterable, lambda x: x is not Good)

Но хочется что-то вида: (yes, no) = partition(interable, labmda x: x is Good).

Для случаев, если iterable - это генератор, или lambda x - уникальная и дорогая функция - вполне себе незаменимо.

(Я про functools и python если что).

ЗЫ Оно называется partitioning или как-то иначе?
Subscribe

  • Rust soundness

    Каждый раз, когда я сталкиваюсь с маленькими "но" в Rust'е, это ощущение тщательной продуманности. Например, простейшие fold-функции для итераторов:…

  • still_ntp

    В ходе локального мозгового штурма у меня родилась суперидея. Надо написать ntp сервер, который может отдавать указанную дату. Т.е. сказали при…

  • arping'а не достаточно

    Я обнаружил, что arping не умеет делать целый запрос полностью (т.е. source mac, dest mac, source ip, dest ip). Dest либо IP, либо mac, и это немного…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 18 comments

  • Rust soundness

    Каждый раз, когда я сталкиваюсь с маленькими "но" в Rust'е, это ощущение тщательной продуманности. Например, простейшие fold-функции для итераторов:…

  • still_ntp

    В ходе локального мозгового штурма у меня родилась суперидея. Надо написать ntp сервер, который может отдавать указанную дату. Т.е. сказали при…

  • arping'а не достаточно

    Я обнаружил, что arping не умеет делать целый запрос полностью (т.е. source mac, dest mac, source ip, dest ip). Dest либо IP, либо mac, и это немного…