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

1. В чем ошибка / проблема с map? 2. Какой

из них будет быстрее и почему?
ps. time.time() - start_time замеряю чуть позже, вопрос почему🙂

28 ответов

27 просмотров

Ну как бы map и filter разное делают, непонятно, чего ты ожидал.

Vladyslav-Trofymets Автор вопроса
evle
Ну как бы map и filter разное делают, непонятно, ч...

что разное то понятно. Но конструкция с лямбдой для списке одинаковая. см пример. https://book.pythontips.com/en/latest/map_filter.html

Vladyslav Trofymets
что разное то понятно. Но конструкция с лямбдой дл...

И что что одинаковая? Ты сравниваешь количество элементов в результате, оно будет ожидаемо разным.

Vladyslav-Trofymets Автор вопроса
evle
И что что одинаковая? Ты сравниваешь количество эл...

но ведь лямбда имеет одинаковое условие...? Можно подробнее.

Vladyslav Trofymets
но ведь лямбда имеет одинаковое условие...? Можно...

Мап для каждого элемента выполняет функцию и результат складывает в возвращаемую последовательность. Фильтр — вычисляет функцию и если результат истиный, складывает в возвращаемую последовательность исходный элемент. Если ложный, то пропускает.

Vladyslav-Trofymets Автор вопроса

Const? Тишка? Alex? Zart? Кто еще тут выживший знающий есть

Vladyslav Trofymets
Const? Тишка? Alex? Zart? Кто еще тут выживший зна...

Тебе же уже сказали, что разные функции приводят к разным результатам, что не так?

Vladyslav Trofymets
Const? Тишка? Alex? Zart? Кто еще тут выживший зна...

Первый список ты отфильтровал ифом Второй фильтром А третий ты никак не фильтровал, ты просто сделал набор True / False того же размера, что и исходный список

Vladyslav-Trofymets Автор вопроса
evle
Мап для каждого элемента выполняет функцию и резул...

о! Вкурил спасибо. Тогда чтоб достичь того же результата с мапом получается надо сделать обратной условие и list.pop / remove?

Vladyslav Trofymets
о! Вкурил спасибо. Тогда чтоб достичь того же резу...

Надо просто не пытаться достигать этого мапом.

Vladyslav-Trofymets Автор вопроса
evle
Надо просто не пытаться достигать этого мапом.

🫡 понял. а между генератором списка и filter что теоретически должно быть быстрее ? и почему?

Vladyslav Trofymets
🫡 понял. а между генератором списка и filter что т...

Если бы был однозначный ответ тогда зачем бы существовало второе?

Vladyslav Trofymets
🫡 понял. а между генератором списка и filter что т...

Быстрее — тут вопрос более философский чем практический. Скорее всего в данном случае лист компрехеншен будет чуть быстрее. Но использовать его лучше потому что он чуть более читаемый и идиоматичный.

Vladyslav-Trofymets Автор вопроса
evle
Быстрее — тут вопрос более философский чем практич...

на практике - компрехеншн быстрее получился.

Vladyslav Trofymets
на практике - компрехеншн быстрее получился.

Ну, у тебя вместо методики измерения угадайка, судя по блестящей идее использовать time.time(). Так что это ни о чём не говорит.

Vladyslav Trofymets
cpu time взять?

Модуль timeit, Либо вручную всякие perf_counter.

Vladyslav-Trofymets Автор вопроса
evle
Модуль timeit, Либо вручную всякие perf_counter.

сейчас попробую, тогда подумал об ...time.process_time()

Vladyslav-Trofymets Автор вопроса

среднее с 25 прогонов timeit, результат концептуально тот-же оказался. 🙂

Vladyslav Trofymets
среднее с 25 прогонов timeit, результат концептуал...

25 прогонов это не показатель Делай ближе к миллиону (или просто оставь миллион как по дефолту)

Vladyslav-Trofymets Автор вопроса
Const
25 прогонов это не показатель Делай ближе к миллио...

🙄 та и то выглядит как победа огромная. Думал набросаю на скорую руку то-се как знаю проверить идеи. А потом как дошло до дела, пол гб/гб csv, то моему пандасу становится плохо. Сижу перехожу не списки.

Vladyslav Trofymets
🙄 та и то выглядит как победа огромная. Думал набр...

Не видно пандаса тут, пол гб csv не объём. Попробуй pyarrow

Vladyslav Trofymets
🙄 та и то выглядит как победа огромная. Думал набр...

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

Vladyslav-Trofymets Автор вопроса
evle
Ты неправильно пользуешься пандасом. Это не самая ...

есть пачка csv. Из них выбираю диапазоны записей по временным рядам. И дальше их кручу на барабане. .item / itertuples() * куча вычислений = ему плохо. Думаю об том чтоб крутить список

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта