170 похожих чатов

Раз уж пошли сумасшедшие задачки. Тест-драйв вопроса на собес. Какой результат получится,

если отсортировать такой список с помощью встроенной функции sorted без указания key?
list_ = [{2}, {3, 1}, {1, 2, 3}]

25 ответов

32 просмотра

Без изменений?

там issuperset и issubset. я выиграл?

evle
Нет.

ты кажется не понял меня

evle- Автор вопроса
evle- Автор вопроса
quantum super position
ты кажется не понял меня

То что ты знаешь, какие там будут использованы методы — не значит, что ты понял смысл.

evle- Автор вопроса
Const
Всм?

Гарантии этого есть?

evle
И снова нет.

>>> list_ = [{2}, {3, 1}, {1, 2, 3}] >>> sorted(list_) [{2}, {1, 3}, {1, 2, 3}] >>>

Хрен знает, потому что у множеств не работают привычные законы для <, >, <=, >=, ==

evle- Автор вопроса
evle
А вот это правильный ответ.

Я же про это сказал, ну алло

я бы с такого собеса встал и вышел

мы недавно уже обсуждали это. static PyObject * set_richcompare(PySetObject *v, PyObject *w, int op) { PyObject *r1; int r2; if(!PyAnySet_Check(w)) Py_RETURN_NOTIMPLEMENTED; switch (op) { case Py_EQ: if (PySet_GET_SIZE(v) != PySet_GET_SIZE(w)) Py_RETURN_FALSE; if (v->hash != -1 && ((PySetObject *)w)->hash != -1 && v->hash != ((PySetObject *)w)->hash) Py_RETURN_FALSE; return set_issubset(v, w); case Py_NE: r1 = set_richcompare(v, w, Py_EQ); if (r1 == NULL) return NULL; r2 = PyObject_IsTrue(r1); Py_DECREF(r1); if (r2 < 0) return NULL; return PyBool_FromLong(!r2); case Py_LE: return set_issubset(v, w); case Py_GE: return set_issuperset(v, w); case Py_LT: if (PySet_GET_SIZE(v) >= PySet_GET_SIZE(w)) Py_RETURN_FALSE; return set_issubset(v, w); case Py_GT: if (PySet_GET_SIZE(v) <= PySet_GET_SIZE(w)) Py_RETURN_FALSE; return set_issuperset(v, w); } Py_RETURN_NOTIMPLEMENTED; }

Я бы ожидал ошибку. Не? Но сильно зависит от исходного положения сетов, так как не все сравнимы со всеми

evle- Автор вопроса
quantum super position
мы недавно уже обсуждали это. static PyObject * se...

Суть в том — что сама процедура сортировки в таком случае бессмысленно. Поэтому смотреть на реализацию — не продуктивно.

ungenuineer Hor
я бы с такого собеса встал и вышел

меня как-то раз заставили на собесе дерево разворачивать, я развернул и спросил нахуя вы это спрашиваете, вразумительного ответа не услышал

evle- Автор вопроса
Tishka17
Я бы ожидал ошибку. Не? Но сильно зависит от исход...

Насколько помню, текущая реализация сортировки всегда как-нибудь да завершается и проверки, что оно действительно отсортировано — нет. Это, в прочем, не так важно.

evle
Суть в том — что сама процедура сортировки в таком...

С чего бесмысленна? У нас в доке вполне определено что делает <, >, ... у множества

ungenuineer Hor
меня как-то раз заставили на собесе дерево развора...

Ты правда думаешь что для любой теоретической задачи есть 100% совпадающее с ней практическое применение? Проверяют твое умение писать несложные алгоритмы, потому что пригодится может в любой момент

evle- Автор вопроса
ungenuineer Hor
меня как-то раз заставили на собесе дерево развора...

А нафига нужне программист с таким подходом к нормальным в общем-то вопросам?

evle- Автор вопроса
quantum super position
С чего бесмысленна? У нас в доке вполне определено...

Чтобы сортировка работала, должен быть определён частичный порядок. То есть для двух элементов должно быть верно либо a <= b, либо a > b. Для двух множеств оба могут быть ложны.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта