Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/1961404
A является подмножеством B если в B входят все элементы A
Читать полностью…Ну, например, тупл из названий методов в алфавитном порядке. Проверяется на подмножество быстро, оставшихся кандидатов полным сравнением. Типа хэшмапы, только нечёткое.
О Блуме тоже можно подумать.
$ pypy
Python 3.10.13 (fc59e61cfbff, Jan 14 2024, 13:01:46)
[PyPy 7.3.15 with GCC 10.2.1 20210130 (Red Hat 10.2.1-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>> next((m for m mnojestva if m >= x), None)
Переформулируем задачу по другому.
Есть N множеств. Проверить какое из них является надмножетсвом x
Если нужно прям узнать, какой класс подходит (с учётом типов), то придётся писать свой тайпчекер с нуля
Читать полностью…На будущее, при активированном венве только python и pip, без 3. 3 — это костыль дистрибутивов, который хоть обычно работает, но нафиг не нужно и возможны нюансы.
Читать полностью…/usr/bin/ls: cannot access '/root/hops/venv/bin/pip': No such file or directory
Читать полностью…Ну то есть блин, это удаление созданного венва, а не системного пипа
Читать полностью…Можно собрать все элементы каждого множества из N
в один большой словарь, и каждый элемент будет указывать на то, каким множествам он принадлежит
N = { "foo": {0, 1, 2}, "bar": {1, 2, 3}, "baz": {1, 69, 420} }
bolshoi = {
0: {"foo"},
1: {"foo", "bar", "baz"},
2: {"foo", "bar"},
69: {"baz"},
420: {"baz"},
}
x
, ты проходишься по bolshoi
и считаешь для каждого из N
, сколько элементов подошло.
Читать полностью…
там про него и написано, но все равно не знаю что это обозначает
Читать полностью…так-то если они отсортированы оба множества - можно всего за O(n) понять
Читать полностью…Придумать для множества что-то типа спектра, чтобы легко было сравнивать.
Читать полностью…Потому что нужно ответить на вопросы типа "является ли тип x
подтипом y
"
Задача: дано N классов, найти какой из них подходит под Протокол.
Как бы вы решали?
Мило. Без понятия, как можно осмысленными действиями прийти к такому результату. Видимо, удаляй и делай венв заново. Если воспроизведёшь — расскажи, как. :-D
Читать полностью…Ну ка, если ещё не прибил, глянь ls -la /root/hops/venv/bin/pip