Уведомления

Группа в Telegram: @pythonsu

#1 Июль 11, 2022 01:17:03

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Убрать из списка все отрицательные числа и вывести список

ZerG
ну del и pop все же не remove
Я использовал проектирование цикла с инвариантом. Такое ты у Лутца не прочитаешь, Лутц - это для слабеньких.
Проектирование цикла с инвариантом максимально прижимает алгоритм к логическим границам и в итоге получается максимально оптимальный код, из которого больше ничего не выжмешь.

Но у вас (ZerG, AD0DE412, marvellik, xam1816) все варианты создают второй список той же величины. Ну, этот список маленький, это ещё незаметно всё, а будет список на миллиард элементов, вы что будете второй миллиард создавать?



Отредактировано py.user.next (Июль 11, 2022 14:17:49)

Офлайн

#2 Июль 11, 2022 09:54:59

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1395
Репутация: +  124  -
Профиль   Отправить e-mail  

Убрать из списка все отрицательные числа и вывести список

py.user.next
вы что быдете второй миллиард создавать?
Представим, что первоначальный список нужно оставить без изменения,для выборки данных по другому условию. Большой список, если весь не нужен, думаю лучше фильтровать в потоке, откуда-то ведь он будет появляться.
Конечно, это эффективный метод если первоначальный список больше не нужен

Офлайн

#3 Июль 11, 2022 11:44:34

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Убрать из списка все отрицательные числа и вывести список

py.user.next
Ты все время не учитваешь кому ты отвечаешь. Я сильно сомневаюсь что человек который на форуме спрашивает такой вопрос в состоянии понять твой код = потому при ответе стараюсь максимально упростить код что бы вопрошающий мог что то усвоить
С другой стороны - наличие грамотных ответов только расшираяет кругозор
(при миллиардах мы уйдем на с/rust)



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#4 Июль 11, 2022 12:49:06

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Убрать из списка все отрицательные числа и вывести список

py.user.next
Но у вас (ZerG, AD0DE412, marvellik, xam1816) все варианты создают второй список той же величины.
а че кому то не ясно это было? (хотя новерное это стоило озвучить все же)
тут возможно нужно делать корекцию на удаленыее индексы типа
 i - correct
само собой при каждом удалении correct эээ коректруется
как то так



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Июль 11, 2022 13:09:17)

Офлайн

#5 Июль 11, 2022 14:54:35

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Убрать из списка все отрицательные числа и вывести список

xam1816
Представим, что первоначальный список нужно оставить без изменения,для выборки данных по другому условию.
Копию списка ты можешь сделать перед выборкой, если тебе когда-то нужна копия. Если же выборка всегда генерирует новый список, то при подаче тысяч списков, которые приходят по сети в неизвестном количестве, у тебя будет забита память просто этими ненужными копиями. Чтобы это оптимизировать, тебе придётся писать заново эту функцию, убирая из неё создание копии списка.

ZerG
Ты все время не учитваешь кому ты отвечаешь. Я сильно сомневаюсь что человек который на форуме спрашивает такой вопрос в состоянии понять твой код = потому при ответе стараюсь максимально упростить код что бы вопрошающий мог что то усвоить
Так ты быстро придёшь к школе программирования, которая просто продаёт курс программирования, в котором ничего из программирования нет. Сейчас вот море этих школ, которые и детей учат, и взрослых учат. Результат такой школы что из себя представляет? Ученик в ней учится у полных дураков, вот буквально, так как в таких школах продаётся не обучение, а продаётся бумажка с красивыми буквами, с желанным текстом. То есть там даже нет программистов, так как они туда не приходят преподавать. И вот такой выпускник с бумажкой потом приходит на собеседование, если у него получилось что-то там наврать в резюме и его пригласили на собеседование. Ну, как он составляет резюме, - это отдельный вопрос, потому что, нихера не зная, он проходит обучение по составлению резюме. Это он составляет резюме и приходит с его помощью на первое собеседование. И вот он на этом собеседовании сидит и мычит что-то. А что он расскажет? Знать он ничего не знает. Уметь он ничего не умеет.
Вот ты предлагаешь делать вот таких ребяток. Типа не надо им ничего рассказывать; главное, чтобы они увлеклись, заинтересовались, поверили в себя.
Это будут просто толпы поверивших в себя долбоёбов, не способных написать ни одной программы.

А что делаю я: я когда-то сам учился и очень часто натыкался на снобов. Где они сейчас, это другой вопрос. Ну, обычно они никто и нигде. Свои сертификаты, которыми они тогда гарцевали и мерились, они засунули себе в очко, это на сегодняшний день. Ну, то есть, время этих сертификатов прошло, и сегодня эти сертификаты не модные стали. А куда можно деть сертификат, который вышел из моды, - можно только скрутить его в трубочку и вставить в одно место, так как больше он никого не интересует, даже бывших соперников сертификатных. Так они и закончили. А понтов было дохуя. Ты даже не представляешь сколько. Ну, только вот корабли их не бороздят просторы Вселенной. Обосрались и сгинули вместе со своими рассказами про то, какие они крутые.
Поэтому я так не делаю, хотя мог бы, так как мне мой сегодняшний уровень позволяет посылать всех направо и налево - в поисковую систему, в книжки, в вузы.

То есть я никогда не скажу ему типа “вот ты код не умеешь писать и идёшь не в ту сторону вообще - так это хорошо!”, потому что приведёт это к его полному уничтожению. Он будет думать, что, чтобы программистом быть, это надо на работу устроиться в какую-нибудь компанию, где программы делают. А то, что он там будет чай разносить и ботинки чистить, ползая на коленях под столом, для него это будет нормальной карьерой программиста. А девушка будет ещё и в жопу давать. Программистка великая, по типу тех, что в Яндексе работают, - кучи дур каких-то. Говнокодерство налево и направо. И это типа нормально у них уже, что одна хуйня не работает, вторая хуйня не работает, что много чего там не работает уже. Вот пару недель назад сломали ya.ru, теперь эта идиотская хуйня всё время пустую страницу показывает. Какой-то дурак решил там что-то новое вставить. Но он дурак, поэтому получилась пустая страница.

Вот я против этого. Я против размножения дураков каких-то, верящих в себя просто так на пустом месте. Поэтому я их учу правильным направлениям, а не абы каким. Я не хочу, чтобы они работали в Яндексе; я хочу, чтобы они создавали программы и эти программы оставались и жили.



Отредактировано py.user.next (Июль 11, 2022 15:00:38)

Офлайн

#6 Июль 12, 2022 09:29:24

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Убрать из списка все отрицательные числа и вывести список

Где это я говорил не давать правильный код?
Наоборот я всегда за то что бы были разные уровни ответов - ведь пост читают все а не только
двое. Так что ты меня с кем то спутал.
Однако если вопрос из ряда как словарь почистить то надо расписать что бы человек не только
скопировал рабочий вариант но и понял свою ошибку. С другой стороны - если бы эти додики читали
Лутца а не смотрели свои педоролики педоблоггеров - таких вопросов бы и небыло.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#7 Июль 12, 2022 21:45:52

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Убрать из списка все отрицательные числа и вывести список

 a = [91, -32, 67, -4, -91, 63, 56, 40, -45, 72, 0]
b = 0
def my_sort():
    global b
    b += 1
a.sort(key=lambda x: x > 0) # не ну а чему не так? скорость то вроде обещена си -шная
for i in a:
    if i < 0:
        my_sort()
    else:
        break
for i in range(b):
    a.remove(a[0])
    # a.pop(0)
print(a) # ~> [0, 91, 67, 63, 56, 40, 72]
чудеса алгаритмики кхм кхм )))
зы эээ не делайте так как это шутка на самом деле эээ но работущая



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Июль 12, 2022 21:56:26)

Офлайн

#8 Июль 12, 2022 21:51:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Убрать из списка все отрицательные числа и вывести список

AD0DE412

не ну а чему не так?
а какова вычислительная сложность хорошего алгоритма сортировки?



Офлайн

#9 Июль 12, 2022 21:56:43

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Убрать из списка все отрицательные числа и вывести список

ужасная ) чесно говоря я не знаю как подсчитать
ps можете подсказать хоть примерно? скока )

upd
O(n log n)?



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Июль 12, 2022 22:16:10)

Офлайн

#10 Июль 12, 2022 23:26:55

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Убрать из списка все отрицательные числа и вывести список

AD0DE412
O(n log n)?
допустим, ну и зачем O(n) превращать в O(n log n), объясните бога ради?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version