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

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

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

28 ответов

11 просмотров

Ну как бы 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() * куча вычислений = ему плохо. Думаю об том чтоб крутить список

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

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

А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
19
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта