antikuz
ну если это внутри функции делать
antikuz
правда мне кажется как то по другому должно выглядеть, лаконичнее
antikuz
да это я просто написал, failed всмысле если совпадение не будет найдено он дойдет до этой строки
Andrey
я не понимаю проблему до сих пор
Andrey
x = 4 list1 = [1,2,3,4] list2 = [6,7,8,9] lists = list1 + list2 print(lists) if x in lists: print("in list") else: print("not in list")
МишанЯ
Это уже не под циклом for, верно?
Andrey
всё выполняется один раз
Andrey
зачем нужен for ? какое он имеет отношение к проблеме?
antikuz
всё выполняется один раз
я так понял ему при нахождении нужно будет в топ списке где элемент что-то с ним сделать
SetazeR
for list in lists: if a in list: sucess return failed return
это пишется короче if any(a in list for list in lists): success else: failed
Andrey
Сптски остаются, не надо в один их.
со списками ничего и не происходит.
antikuz
это пишется короче if any(a in list for list in lists): success else: failed
точно, генераторы же, говорю чувствую что надо правильнее 😊
МишанЯ
это пишется короче if any(a in list for list in lists): success else: failed
Боюсь потом я забуду что это и не разберусь)
МишанЯ
for list in lists: if a in list: sucess return failed return
Думаю стоит вот это попробовать. И для меня нагляднее и понятнее. Итераторы пока путуются у меня. Всем спасибо большое, будем пробывать вечером.
Tishka17
Если второе: for a in lists: if x in a: что-то когда есть break elae: То, что делаем когда нет
Tishka17
Хотя если в функции, с ретурнами ок
antikuz
не совсем понимаю как будет код работать, ему нужно проверить один раз вхождение во все списке и где найдется элемент его изменить
МишанЯ
Хотя если в функции, с ретурнами ок
Хм, проскочило мимо внимания
antikuz
а в твоем когда он же будет выполнять else каждый раз?
antikuz
или else можно отдельно ставить
МишанЯ
Ой, а у for может быть else?😏
Tishka17
Ага
Tishka17
Выполняется когда не было break
МишанЯ
Узнаю многое...😂
МишанЯ
Выполняется когда не было break
В случае с функцией return то есть.
Tishka17
Ну да
Tishka17
Но иногда удобно. Если что-то ещё надо после цикла сделать и ретурн не подходит
МишанЯ
Кстати, выход из функции можно же просто ретурн, не возвращая ничего?
Tishka17
Но вообще ретурн лучше, да
МишанЯ
Но вообще ретурн лучше, да
Так можно же воткнуть перед ретурн действие и все
Tishka17
И я говорю, мой вариант из-за неожиданного else у цикла не самый понятный, но иногда удобно
МишанЯ
Теперь главное чтобы на потоке не сказалось. Функция в отдельном потоке запускается. Если функцию вырубим return, поток же должен тоже завершиться, верно понимаю?)
МишанЯ
Я попробую и те и те, взависимости от возможного дальнейшего кода в функции
МишанЯ
Ну что ж, будем быдлокодить далее😊
kolay
Сюда тоже такие заходят?
kolay
Каждое утро, одно и тоже
🍁 Jaŭhien
обычное дело для телеги
paulwinex
⭐️ Приветы. Вопрос про Python3. Пишу приложение на PySide2/PyQt5. Ранее присал на 2м и было норм, но на 3м при появлении многих ошибок связанных с Qt питон просто крашится без трейсбеков и каких либо сообщений что где случилось. ВОпрос в том как перехватить ошибку чтобы узнать что где сломалось? Надоело методом тыка искать. Я думаю какойто отладчик должен быть или както перехватить хук ошибки и сдамбить в файл. В общем какойто способ перехвата сообщения нужен. Дебагеры, типа pdb, в которых построчно выполнять код в поисках места падения не подходят, надо просто перехватить сообщение во время краша.
Tishka17
Смотря как крашится. Если это сегфолт, никакой питоновский трейс не увидишь
Tishka17
Ты уверен, что крашится?
Tishka17
Можешь запустить из консоли и когда закроется exit код посмотреть?
Tishka17
Есть вероятность, что просто окно закрывается, например
Anonymous
😅
paulwinex
а есл иошибка запускается когда использую pythonw
paulwinex
без консолей
Tishka17
Только?
paulwinex
ну в первый раз была причина того что sys.stdout в таком случае крашил. я это я поправил и теперь другие ошибки вываливаются
Tishka17
Вообще, логи ведёшь?
paulwinex
в частности в Qt ключит один класс когда создаешь инстанс
paulwinex
логи да но в этих местах нифига не срабатывает лог
paulwinex
он прост окрашит
Tishka17
Какой, например?
paulwinex
ну вот, создаю инстанс и пиндык. краш без намека на то что случилось
paulwinex
ща
paulwinex
https://bugreports.qt.io/browse/PYSIDE-922?focusedCommentId=445590&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel
paulwinex
вот тут эта проблема описана
paulwinex
но совет там предложенный не помог
paulwinex
еще усложняется тем что краш при закрытии часто. и пади пойми что где случилось. То потоки не верно закрыл, то функция не так написана. Вроде простые косячки но приходитс яискать методом тыка
paulwinex
в общем я не за советом как это делается обычно, я спрашиваю может кто тоже искал такой способ дебага через внешние обертки или спец модули
Tishka17
Ух
Tishka17
Ну это сегфолт, да. Брать gdb и анализировать core файл
paulwinex
самое похожее что видел это скачать исходники питона и компилить в дебаг режиме, ну и через компилятор дебажить)
paulwinex
Не питона. Pyside2
ну там был разговор в целом про питон. это уже мой частный случай с qt
paulwinex
ладно, спасиб. я попробовал)
Tishka17
Если баг в Qt, увы
Tishka17
Но трюк с gdb никто не отменял
paulwinex
нет, баг может быть в моем коде, например написал conenct вместо connect