её заменить?
Давайте без давайте, а сразу скидывайте, молодой человек Только лучше, конечно, если это связано с аио
мне просто хочется узнать, найдутся ли такие люди, которым не будет лень копатся в этой лямбде: convert = lambda x: (None if not isinstance(x, str) else (x[1:-1] if (x.startswith('"') and x.endswith('"')) or (x.startswith("'") and x.endswith("'")) else (int(x) if x.isdigit() or x.startswith("-") and x[1:].isdigit() else (float(x) if len(x.split(".")) == 2 and x.split(".")[0].isdigit() and x.split(".")[1].isdigit() else x))))
Это не похоже на регулярку )))))))
Давай ещё моноширинным
def convert_new(x): if not isinstance(x, str): return None if (x.startswith('"') and x.endswith('"')) or (x.startswith("'") and x.endswith("'")): return x[1:-1] if x.isdigit() or x.startswith("-") and x[1:].isdigit(): return int(x) if len(x.split(".")) == 2 and x.split(".")[0].isdigit() and x.split(".")[1].isdigit(): return float(x) return x Изи
А ты сам лямбду писал?
Я думаю ты мог бы её в обычный вид тоже легко перевести тогда )
я её с обычного вида переводил в лямбду
Кек А зачем тогда просил в обычный перевести?
своеродный тест на компетентность людей
И как, я прошёл? 🤩🤩🤩
можно сказать да, но так же можно сказать и нет
Не, ну можно и подумать, но я хотел эту часть переложить на тебя )
спихиватель обязаностей)
Ну а что поделать )
Честно, что сделать с этим, кроме как вынести в регулярку или на два ифа, я хз if (x.startswith('"') and x.endswith('"')) or (x.startswith("'") and x.endswith("'")): return x[1:-1]
регулярка наверное будет медленна
Та просто смысла от неё в данном случае нет Лучше вообще стрип, но тогда изменится работа функции
def convert_new(x: str): if not type(x) == str: return None if (x.startswith('"') and x.endswith('"')) or (x.startswith("'") and x.endswith("'")): return x[1:-1] with contextlib.suppress(ValueError): return float(x) return x Держи И вообще лучше проверку на тип убрать нафиг
так мои письки ещё не укорачивали
def convert_new(x: str): if (x.startswith('"') and x.endswith('"')) or (x.startswith("'") and x.endswith("'")): return x[1:-1] with contextlib.suppress(ValueError): return float(x) return x Держи
проверка типа нужна, а вдруг кто-то None пихнет
Ну вот выбьет ему ошибку, там ему и надо )))))
Было хуже https://t.me/aiogram_ru/921803
но не в том месте, в котором хотелось бы
raise AntaBata("Only str allowed")
NameError: name 'AntaBata' is not defined
Обсуждают сегодня