Size: a a a

2020 May 21

DS

David Shiko in SPb Python
Alexander
Что ты хочешь получить на выходе?
Корректное сравнение. Я использую их именно так, как в примере выше
источник

A

Alexander in SPb Python
корректное сравнение - это
isinstance(list_var, list)
источник

A

Alexander in SPb Python
непонятно зачем сравнивать с чем-то из пакета typing
источник

DS

David Shiko in SPb Python
Alexander
корректное сравнение - это
isinstance(list_var, list)
Да, оговорился, я принимаю любой итерируемый объект на проверку. tuple/set/list ..
источник

S

Stanislav in SPb Python
источник

S

Stanislav in SPb Python
источник

S

Stanislav in SPb Python
Плюсую вопрос, какая у тебя цель в итоге
источник

DS

David Shiko in SPb Python
Какой вывод я должен сделать? Я ищу шаблон проверки на итерируемость.
Можно вообще ничего не импортировать. Я хочу, что бы код был понятный
источник

S

Stanislav in SPb Python
David Shiko
Какой вывод я должен сделать? Я ищу шаблон проверки на итерируемость.
Можно вообще ничего не импортировать. Я хочу, что бы код был понятный
Проверка на итерируемость это iter(obj), как написано в доке к abc.Iterable
источник

DS

David Shiko in SPb Python
Привожу прямо кусок код.
Здесь я вставляю в пустой список None, т.к. mysql ломается, если на вход оператору IN приходит пустой tuple

args = tuple([[None] if isinstance(arg, Iterable) and len(arg) == 0 else arg for arg in args])  # No [], but [None]
источник

DS

David Shiko in SPb Python
Stanislav
Проверка на итерируемость это iter(obj), как написано в доке к abc.Iterable
🙏
источник

S

Stanislav in SPb Python
David Shiko
🙏
Но твой случай, кажется, надо целиком передумать и упростить
источник

S

Stanislav in SPb Python
iter() эксепшен кинет, если не итерируется
источник

DS

David Shiko in SPb Python
Stanislav
Но твой случай, кажется, надо целиком передумать и упростить
А как упростить?
источник

AN

Aleksey Nakoryakov in SPb Python
David Shiko
А как упростить?
Не делать запроса на in, если список пустой?
источник

S

Stanislav in SPb Python
Aleksey Nakoryakov
Не делать запроса на in, если список пустой?
Ну да, по идее он никогда ничего не вернет, а со всякими хаками c None может еще и лишнее вернуть.
источник

DS

David Shiko in SPb Python
Aleksey Nakoryakov
Не делать запроса на in, если список пустой?
Нет, все равно делать. Но вставить NULL элемент, если объект итерируемый и не имеет элементов, иначе оставить как есть.

Я не хочу менять sql запрос под каждый тип данных, проще данные под запрос подогнать ИМХО.
источник

DS

David Shiko in SPb Python
Кусок кода выше как раз из ф-и, которая занимается приведением типов данных, которые нравятся mysql
источник
2020 May 22

LB

Linus Buhler in SPb Python
Подскажите, пожалуйста, с регулярками
Есть к примеру text = "ИРИСКА"
Как будет выглядеть регулярное выражение для поиска в таком случае
re.fullmatch(r"((?:\b{x}\b')|(?:{x}\b)|(?:\b{x})|(?:{x}))".format(x = message), text, flags=re.IGNORECASE)
В переменной message может передаваться как любой из вариантов
РИ
ИР
СКА
ИРИСКА
И во всех этих случаях должно находить
Я разве неправильно написал?
источник

IZ

Ilia Zviagin in SPb Python
Linus Buhler
Подскажите, пожалуйста, с регулярками
Есть к примеру text = "ИРИСКА"
Как будет выглядеть регулярное выражение для поиска в таком случае
re.fullmatch(r"((?:\b{x}\b')|(?:{x}\b)|(?:\b{x})|(?:{x}))".format(x = message), text, flags=re.IGNORECASE)
В переменной message может передаваться как любой из вариантов
РИ
ИР
СКА
ИРИСКА
И во всех этих случаях должно находить
Я разве неправильно написал?
А что искать надо?
источник