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

def func_1(nums): new_arr = []

for i in range(len(nums)):
if nums[i] % 2 == 0:
new_arr.append(i)
return new_arr В коде идет отбор чётных чисел из списка и добавление их в другой список. Как бы вы его оптимизировали ?

19 ответов

16 просмотров

не писал бы на пайтоне

Хз актуально ли: lambda nums: [if x % 2 == 0 for x in nums] Вроде так можно, хотя лябмды в питоне вроде не принято юзать.

Viktor
Хз актуально ли: lambda nums: [if x % 2 == 0 for x...

При замерах в списковом включении скорость меньше, чем через цикл, так что я использовал цикл и перебор списка по элементам, а не по их индексам.

Lamer(Никита Луконенко) 💻
При замерах в списковом включении скорость меньше,...

А вообще самый быстрый вариант получился с использованием pop, я просто удалял нечётные числа из исходного списка

Lamer(Никита Луконенко) 💻
При замерах в списковом включении скорость меньше,...

Хз, что значит списковое включение, и разве ты не по индексам перебирал? Но если дрочишь на скорость выполнения, то вроде range(len()) в цикле каждый раз считается

Viktor
Хз, что значит списковое включение, и разве ты не ...

Списковое включение, это когда ты делаешь вот так: [el for el in list ...]

Lamer(Никита Луконенко) 💻
А вообще самый быстрый вариант получился с использ...

pop(i) для каждого нечётного это O(N^2), он не может быть быстрее на сколько-либо больших длинах

Lamer(Никита Луконенко) 💻
При замерах в списковом включении скорость меньше,...

Обычный list comprehension быстрее альтернативных вариантов https://pastebin.com/4kcBMhCi

Lamer(Никита Луконенко) 💻
screenshot у меня ситуация обратная

Нужны индексы чётных элементов или сами элементы? Замерять нужно на длинных списках, чтобы данные замера были полезны. Либо списках такого размера, для которого планируется применять функцию

Lamer(Никита Луконенко) 💻
я протупил сначала, нужны индексы

Если нужны индексы, не стоит использовать метод index. Он работает за линейное время

Lamer(Никита Луконенко) 💻
я пробовал range(len), он ещё медленнее

Какая разница, что быстрее на списке из одного элемента

Lamer(Никита Луконенко) 💻
задание такое

Если список из одного элемента (x,) = arr return [x] if x % 2 == 0 else []

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

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

лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
#include <stdio.h> #include <stdlib.h> #include <time.h> int** generate_table(int size_matrix) { int** matrix = (int**)malloc(size_matrix * sizeof(int*)); for (int i ...
Чувак
1
Яндекс маршрутизатор кто-нибудь использовал с своих проектах, чтоб через него маршруты составить/посчитать? Насколько простой/муторный сервис?
Dreamer_0x01 VeseloV
7
У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
В связи с "политическим дембелем" ms office кто нибудь пробовал работать с чем то импортозамещенным? Например, Р7. Т. е. задача открыть "импортозамещенный" шаблон, что то в н...
Alex
5
Карта сайта