Tishka17
ну так разберите uuid и проверьте версию если так важно
Anonymous
да небыло это целью
Anonymous
я вообще про другое спрашивал
Andrew
Действительно, непонятно как 128-битное целое число может стать невалидным
Anonymous
челик просто приебался
Tishka17
версия определяет что в uuid лежит, а не формат
Artur Rakhmatulin
челик просто приебался
я предложил использовать uuid модуль
Anonymous
который как я и сказал не удволетворяет результату
Artur Rakhmatulin
челик просто приебался
ты ведь спокойно не стал объяснять что к чему
Anonymous
ну я привел пример
Anonymous
это не достаточно спокойно?
🇷🇺El Mariachi
версия определяет что в uuid лежит, а не формат
скорее каким образом он был получен... в самом uuid ничего не лежит, это же хэш по сути )
Tishka17
который как я и сказал не удволетворяет результату
так и не понятно чем регулярка лучше?
Anonymous
Вообщем возвращаясь к моему вопросу def valid_uuid(uuid_): regex = re.compile('^[a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab][a-f0-9]{3}-?[a-f0-9]{12}$', re.I) match = regex.match(uuid_) return bool(match) map(valid_uuid, lst) 1. Есть ли какая нибудь функция которая пройдет по всему списку (как map) но вернет true если все запущенные функции true, и false если хотя бы одна из них false. 2. Как красиво написать re.compile что бы от него был толк?
Tishka17
uuid позволяет распарсить и потом проверять что ещё хочется
Anonymous
вынесу из функции а дальше что? просто глобальной переменной?
Andrew
единоразово инициализируй перед циклом с valid_uuid
Anonymous
Вообщем возвращаясь к моему вопросу def valid_uuid(uuid_): match = regex.match(uuid_) return bool(match) regex = re.compile('^[a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab][a-f0-9]{3}-?[a-f0-9]{12}$', re.I) all(valid_uuid, lst) Типо так?
Anonymous
я конечно может не очень хорош в этом, но разве глобальные переменные в функциях это не дичь?
Artur Rakhmatulin
считай settings задал
Anonymous
ладно, спасибо
Artur Rakhmatulin
я бы еще замерил все через %%timeit 🤔
Anonymous
стоп стоп стоп
Anonymous
по поводу all
Anonymous
ито же для итератора не?
Tishka17
а map что возвращает?
Tishka17
ито же для итератора не?
итерируемого объекта
Anonymous
ну да
Anonymous
то есть all(map(func, lst)) ?
Aragaer
эм
Aragaer
а просто all(func(x) for x in lst) не?
Tishka17
скажите, а merge(obj) в sqlalchemy по сути находит в БД/сессии соответствующий объект и все поля ему обновляет до актуалных же?
Tishka17
так?
Alex
а просто all(func(x) for x in lst) не?
ох уж эти любители пихать list-comp везде
Tishka17
ну я имею ввиду, он не будет игнорить некоторые поля, по какой-то причине не связанной с тем, что там за данные в бд?
Alex
ну это же читаемее
ну хз… как по мне all(map(…)) тоже отлично читается
Tishka17
ну если не лямбда, да
Tishka17
согласен, ок
root
Привет! Как реализовать такой цикл на python и заносить это все в БД? Должно быть 48 значений которые сдвигаются по времени. допустим если сейчас 2:00 то должно быть как в таблице ниже | time | value | 2:30 1 3:00 1 3:30 1 4:00 1 4:30 1 ... ... ... 0:00 1 0:30 1 1:00 1 1:30 1 2:00 1
Tishka17
timedelta
Aragaer
ну хз… как по мне all(map(…)) тоже отлично читается
согласен, читается. Но только в случае, когда функция оформлена в виде функции. А то можно нарваться на all(map((lambda x: some_stuff), lst))
Alex
скобки лишние и по рукам надо.
Aragaer
вокруг lambda x: some_stuff нужны - иначе он туда запятую зохавает
Anonymous
по сути она и существует для этого
Aragaer
собссно листкомп для того и дан, чтобы не совать лямбды в мап и фильтр
Anonymous
all(map((lambda x: x[0]), lst)) не понимаю, как именно по твоему это нужно переписать
Aragaer
all(x[0] for x in lst)
Aragaer
хотя вроде где-то был getter...
Denis
Еще бы был синтаксис для биндинга 2 аргумента, как в хаскеле...
Aragaer
вот, да, itemgetter
Denis
https://docs.python.org/3/library/functools.html#functools.partial
Ну это уже длинно получается
Aragaer
ну там разве что по имени
Denis
И я не знаю, как им биндить второй
Denis
А какое имя принимает гетитем?
Tishka17
хз
Alex
вокруг lambda x: some_stuff нужны - иначе он туда запятую зохавает
разве? >>> foo = [1,2,3] >>> list(map(lambda x: x * 2, foo)) [2, 4, 6]
Tishka17
вот да
Valera
Всем привет, возможно ли как-то отрефакторить эту функцию? def parse_files(files): result = [] for file in files: if not file['quality'] == 'hls': result.append({ f"{file['height']}p{file['fps']}": { 'link': file['link'], 'type': file['type'], 'size': file['size'] } }) else: result.append({ file['quality']: { 'link': file['link'], 'type': file['type'], 'size': file['size'] } }) return result
Valera
Если да, то просто дайте направление, чтобы копать 🙂
Elnee
С помощью requests получаю ответ на пост запрос, парсю эту страницу в BeautifulSoup, а вместо кириллицы нечитаемые каракули. Использую python 3. Как конвертировать их, если строка в третьем питоне уже юникод. Подскажите, пожалуйста.
Elnee
Советы со стековерфлов с encode decode не работают. Они же для второго питона.
Valera
def serialize_file(file): return { 'link': file['link'], 'type': file['type'], 'size': file['size'] }
эм, и в чем рефактоор? Куда делось формирование ключей?
Макс
эм, и в чем рефактоор? Куда делось формирование ключей?
def parse_files(files): result = [] for file in files: if not file['quality'] == 'hls': result.append({ f"{file['height']}p{file['fps']}": serialize_file(file) }) else: result.append({ file['quality']: serialize_file(file) }) return result