Денис
Ох уж эти питонисты, насочиняли с три короба. Как мне теперь питон изучать? Он же мне мозг вывернет
Igor
Что за компания?
https://www.kmilearning.com/
Igor
ваще хз америкосы рулят мы только собеседуем, плюс это не полноценные сотрудники а аутстаф
Erik
Фор в комприхеншн можно использовать?
Igor
Фор в комприхеншн можно использовать?
да конечно без фор компрехеншн написать нельзя это обязательная часть синтаксиса
Артур
я попробовал, но..
Виталик Голоенко
я попробовал, но..
result = [] super_result = [] 🤣
Igor
я попробовал, но..
как ты это делаешь? это талант!
ioannes
Эххх
ioannes
Кто вкатился из здешних за этот год?
Danya
я попробовал, но..
интересный код)
Артур
Артур
def move_zeros(array): list_old = array if array == []: return [] elif array == [0]: return [0] else: result = [] # super_result = [] a = min(array) for _ in range(len(array)): if a in array: result.append(a) array.remove(a) return array + result
Артур
а нет еще 26 ошибок… ладно пошел обратно на свои 8куи ))
Igor
Вот учитесь молодежь :) человек с аболютно не верным кодом прошел все претесты :) вам до этого расти и расти :)
Igor
Я хренею как он это делает
Danya
Я хренею как он это делает
упорства ему не занимать
Борисов
А зачем все создают дополнительный массив ?
Danya
А зачем все создают дополнительный массив ?
тсс, тихо. Не задавай вопросов - не услышишь вранья
Igor
А зачем все создают дополнительный массив ?
потому что менять исходные данные это для leetcode %)
Danya
def move_zeros(array): list_old = array if array == []: return [] elif array == [0]: return [0] else: result = [] # super_result = [] a = min(array) for _ in range(len(array)): if a in array: result.append(a) array.remove(a) return array + result
мб это упростит решение, но кажется, что нет смысла искать min, когда по условию мы однозначно понимаем, что это всегда 0)
Борисов
Если кому интересно, можно почитать про С++ идиому 'remove-erase'. Стадия 'remove' - это как раз перемещение удаляемых элементов (например нолей) в конец контейнера
Igor
тут даже не гарантируется что в массиве только числа
Igor
постановка как всегда на codewars %) черт ногу сломит
Danya
про это в условии кстати ничего нет
я немного неправильно выразился. Мы не ищем минимум вообще, мы конкретно ищем нули и их дергаем в другой лист, чтоб потом сконкатенировать (если делать так как Артур)
Danya
а вот поиск min как раз может привести к факапам, при тестах с участием отрицательных чисел
Борисов
))))) Зато как звучит :))
Erik
def move_zeros(array): return [number for number in array if number != 0] + [number for number in array if number == 0]
Erik
Я ебал в рот этот лист комприхеншн
Alexander
result = [] nuls = [] [result.append(num) if num != 0 else nuls.append(0) for num in array] result.extend(nuls) print(result)
Igor
def move_zeros(array): return [number for number in array if number != 0] + [number for number in array if number == 0]
ну нули можно было без компрехеншина писать :)
Igor
Как?
ну у него компрехеншн как просили :) но он не формирует список :) он работает как обычный фор :)
Erik
Нули в конец надо
Или что вы имели ввиду?
Igor
тогда уже совсем через ж :) def move_zeros(array): return [*filter(None, array), *[0]*array.count(0)]
Igor
Через фильтр это неспортивно...
спортивно через сорт :) выше уже было :)
Vladislav
Через фильтр это неспортивно...
говорит человек с киллограмом табака)
Alexander
говорит человек с киллограмом табака)
Одно другому не мешает. Я могу задержать дыхание на 2 минуты и проплыть 50м под водой без ласт и всплыть без повреждений. 😎
Vladislav
тогда уже совсем через ж :) def move_zeros(array): return [*filter(None, array), *[0]*array.count(0)]
эх, не понимаю я эти приколы с кучей методов на один объект и в одну строку. Сложно)
Alexander
спортивно через сорт :) выше уже было :)
Зато очень видно, насколько по-разному люди подходят к решению одной задачи.
Alexander
Я забыл
Что здесь одни программисты, поправил сообщение свое 😂😂😂
Alexander
Ну и ещё новички
Ну ты же понял шутку?
Jsx707
По типу меня у которых +- значимый проект это вот что-то типа такого https://github.com/sp1cklerBoy/AHT
Igor
Зато очень видно, насколько по-разному люди подходят к решению одной задачи.
так уже чтобы совсем по разному :) def move_zeros(array): result = [0] for a in array[::-1]: result.insert(bool(a)-1, a) return result[:-1]
Igor
Я ещё слайсами хотел сделать ..
через оператор not %) import operator def move_zeros(array): return sorted(array, key=operator.not_)
Igor
def move_zeros(array): return sorted(array, key=bool, reverse=True) def move_zeros(array): for i, v in reversed(list(enumerate(array))): if not v: del array[i] array.append(0) return array
Igor
столько решений :) а индус так ни одного и не нашел :(
Igor
вообще если менять исходный массив то как уже выше сказали это будет задача на 2 указателя но для питона это слишком многословно :)
Erik
Что будет, когда это всё заполнится?
Erik
Куи обнулится?
Vladislav
Артур
надо читать задание вот код: def move_zeros(array): if array == []: return [] if array == [0]: return [0] result = [] for _ in range(len(array)): if 0 in array: result.append(0) array.remove(0) return array + result
Артур
исправил
Artyom 👻
Это уже не развидеть😳
Artyom 👻
вы про что?
Про мат
Денис
Это уже не развидеть😳
Интригант, что ж он там такого написал!?
Артур
как все надоело я устал )