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

  • мы их теряем!

    Make: 1976 Прямо сейчас выходят на пенсию люди, для которых make был новомодной технологией, которую притащили хипстеры.

  • Админская мудрость

    Когда вывод strace на башовый скрипт становится понятнее самого скрипта, граница разумности давно пройдена.

  • Rules of internet

    Rule 34. There is porn of it. Rule 35. It's used to mine cryptocurrencies.

  • 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

  • мы их теряем!

    Make: 1976 Прямо сейчас выходят на пенсию люди, для которых make был новомодной технологией, которую притащили хипстеры.

  • Админская мудрость

    Когда вывод strace на башовый скрипт становится понятнее самого скрипта, граница разумности давно пройдена.

  • Rules of internet

    Rule 34. There is porn of it. Rule 35. It's used to mine cryptocurrencies.