
Vadim
18.04.2017
14:58:28
+

Sergey
18.04.2017
14:58:59
+
Так что не так [-1;-1;-1;-1]?
>>> def sortByHeight(a):
... """Сортирует по размеру, исключая -1, по месту"""
...
... # находим индексы деревьев
... indices = [i for i, x in enumerate(a) if x == -1]
...
... # вырубаем
... for i in reversed(indices):
... del a[i]
...
... # сортируем толпу
... a.sort()
...
... # садим саженцы в старые лунки
... for i in indices:
... a.insert(i, -1)
...
>>> a=[3, 2, -1, 1, -1]
>>> sortByHeight(a)
>>> a
[1, 2, -1, 3, -1]
>>>
оу.... я правильно понял идею -D Правда наговнякал больше

Vadim
18.04.2017
15:00:46
nonminusone = sorted([x for x in a if x != -1])
for i in range(len(nonminusone)):
В случае с [-1;-1;-1;-1] ему приходится сравнивать -1 с пустотой

Google

Zart
18.04.2017
15:00:53
вместо a[i:i] = [-1] можно более вразумительное a.insert(i, -1)

Sergey
18.04.2017
15:01:06
и чта?
у нас не попадет на проверку
не дойдет до этого.

Vadim
18.04.2017
15:02:10
В [-1;-1;-1;-1] нет положительных элементов, соотвественно лист с неминусодин пуст
[4, 2, 9, 11, 2, 16] - это работает
[-1, 150, 190, 170, -1, -1, 160, 180] - это тоже
[-1, -1, -1, -1, -1] - а это ошибка

Sergey
18.04.2017
15:03:05
Какая ошибка?

Zart
18.04.2017
15:03:11
более красивый способ решения - это когда алгоритм сортировки просто игнорирует элементы с -1
но мы не сможем заставить штатный так себя вести

Vadim
18.04.2017
15:03:49

Sergey
18.04.2017
15:04:04
В плане "выдает ничего"?
работает или нет?

Google

Sergey
18.04.2017
15:04:26
А
я понял

Zart
18.04.2017
15:04:38
>>> a = [4, 2, 9, 11, 2, 16]
>>> sortByHeight(a); a
[2, 2, 4, 9, 11, 16]
>>> a = [-1, 150, 190, 170, -1, -1, 160, 180]
>>> sortByHeight(a); a
[-1, 150, 160, 170, -1, -1, 180, 190]
>>> a = [-1, -1, -1, -1, -1]
>>> sortByHeight(a); a
[-1, -1, -1, -1, -1]

Vadim
18.04.2017
15:04:51
Выдаёт пустой лист т
>>> a = [4, 2, 9, 11, 2, 16]
>>> sortByHeight(a); a
[2, 2, 4, 9, 11, 16]
>>> a = [-1, 150, 190, 170, -1, -1, 160, 180]
>>> sortByHeight(a); a
[-1, 150, 160, 170, -1, -1, 180, 190]
>>> a = [-1, -1, -1, -1, -1]
>>> sortByHeight(a); a
[-1, -1, -1, -1, -1]
Проверка на заполненность nonminusone?

Sergey
18.04.2017
15:06:59

Zart
18.04.2017
15:07:17

Sergey
18.04.2017
15:08:38

Vadim
18.04.2017
15:09:04
Вот так сработало хорошо, 100%
def sortByHeight(a):
nonminusone = sorted([x for x in a if x != -1])
t = []
if len(nonminusone):
for i in range(len(nonminusone)):
while len(nonminusone) > 0:
for j in range(len(a)):
if a[j] != -1:
t.append(nonminusone[i])
nonminusone.pop(i)
elif a[j] == -1:
t.append(a[j])
return t
else:
return a

Sergey
18.04.2017
15:09:29
Зачем?
if len(nonminusone): — зачем это?

Vadim
18.04.2017
15:09:39

Qwizzy
18.04.2017
15:10:15
Привет. А изнутри jinja-фильтра можно получить доступ к global-переменной в jinja2.Environment.globals? Если не передавать её явно в параметрах.

Vadim
18.04.2017
15:10:21

Sergey
18.04.2017
15:10:54
зачем?
for i in range(len(a)):
ты для каждого элемента массива a

Zart
18.04.2017
15:11:14
>>> def sortByHeight(a):
... # отсеиваем лишь людей и тут же сортируем
... people = sorted(x for x in a if x != -1)
...
... # создаем итератор
... it = iter(people)
...
... # распихиваем людей между деревьями
... for i, v in enumerate(a):
... if v != -1:
... a[i] = next(it)
...
>>> a=[3, 2, -1, 1, -1]
>>> sortByHeight(a); a
[1, 2, -1, 3, -1]
>>> a = [4, 2, 9, 11, 2, 16]
>>> sortByHeight(a); a
[2, 2, 4, 9, 11, 16]
>>> a = [-1, 150, 190, 170, -1, -1, 160, 180]
>>> sortByHeight(a); a
[-1, 150, 160, 170, -1, -1, 180, 190]
>>> a = [-1, -1, -1, -1, -1]
>>> sortByHeight(a); a
[-1, -1, -1, -1, -1]
>>>

Sergey
18.04.2017
15:11:15
а не для массива nominus

dmks
18.04.2017
15:11:22

Google

Vadim
18.04.2017
15:12:05

dmks
18.04.2017
15:12:06
хитрый зарт, я до итератора недодумался :D

Zart
18.04.2017
15:12:27
ну в целом они предложили хорошие алгоритмы, я их нормально реализовал 8)

Vadim
18.04.2017
15:14:08

Zart
18.04.2017
15:14:15
с детства?

Vadim
18.04.2017
15:14:38
Прямо, чисто и понятно, ей богу

dmks
18.04.2017
15:14:52
Ты лучше спроси когда у зарта детство было :D

Zart
18.04.2017
15:15:04
/me потряс МК-54

Vadim
18.04.2017
15:15:10
Зарт, когда у тебя детство было?

Zart
18.04.2017
15:15:35
https://ru.wikipedia.org/wiki/Электроника_МК-54 примерно тогда

Vadim
18.04.2017
15:15:51
Да, как раз читаю
Интересно

Sergey
18.04.2017
15:16:57
я помню эту адскую штуку
с адской клавишей СТОП

Zart
18.04.2017
15:17:59

Vadim
18.04.2017
15:19:30
Кстати, я хотел ещё положительные элементы вынести в отдельный лист, в исходном их занулить, а потом просто вставить
Но опять же, не смог

Anton
18.04.2017
15:19:44
фига се
Еггоголо́гия — изучение недокументированных возможностей микрокалькуляторов.
https://ru.wikipedia.org/wiki/%D0%95%D0%B3%D0%B3%D0%BE%D0%B3%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F

Vadim
18.04.2017
15:19:51
И только такой говнокод помог

Google

Anton
18.04.2017
15:20:07
типа открытия портала в паралельную вселенную

Vadim
18.04.2017
15:20:08
Ого ?

Zart
18.04.2017
15:22:09

Sergey
18.04.2017
15:22:54
О, да

Zart
18.04.2017
15:22:55

Sergey
18.04.2017
15:22:56
она самая

Vadim
18.04.2017
15:23:24
Это типа break?

Zart
18.04.2017
15:23:28
он и есть

Sergey
18.04.2017
15:23:58
Так, я еще припоминаю, что был еще большой комп

Vadim
18.04.2017
15:24:13
А это нормально, что чувства удовлетворения после решённой задачи нет?

Sergey
18.04.2017
15:24:21

Vadim
18.04.2017
15:28:28
С минимальным набором знаний во фриланс на лёгенькие скриптики суваться стоит? Я первокурсник, на корманные хочу, у родителей просить в лом

Sergey
18.04.2017
15:29:40
Не найдешь работу.

Igor
18.04.2017
15:30:13
а если и найдешь, то заебешься

Solyar
18.04.2017
15:30:16

Vadim
18.04.2017
15:30:31
ПИчально. Даже обрабатывать данные из API?

dmks
18.04.2017
15:30:50
Зависит от того что значит "минимальный набор"
Это очень растяжимое понятие

Vadim
18.04.2017
15:32:50
Ээм.. Ну я с API биткоин бирж игрался, OpenWeatherMap, пытался написать парсер сайта без API, получиться получилось, но далеко от совершенства
И несколько глав Лутца из теории

Google

Solyar
18.04.2017
15:33:36
Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.

Vadim
18.04.2017
15:33:59
От души! Спасибо!

Solyar
18.04.2017
15:34:31

Zart
18.04.2017
15:34:59
сколько этой копипасте тыщ лет уже...

melancholiac
18.04.2017
15:35:00
как запустить питонскрипт в фоне?

Solyar
18.04.2017
15:35:02
Лутца прочитай и оставь на полке как шпаргалку в нее ты будешь заглядывать чаще чем думаешь

Vadim
18.04.2017
15:35:13
Это backend-разработчик получится, если всё осилить?

Solyar
18.04.2017
15:35:22

Vadim
18.04.2017
15:35:53
За 6 месяцев осилить реально?

Sergey
18.04.2017
15:36:32
Если очень захотеть можно в космос улететь

melancholiac
18.04.2017
15:36:37

Vadim
18.04.2017
15:36:55

Sergey
18.04.2017
15:37:16
Но хочу тебя расстроить: бабло ой как не скоро будет

Solyar
18.04.2017
15:37:27

Sergey
18.04.2017
15:37:31
Да и мотивация "сейчас потрачу пару месяцев и напиши свой фейсбук" плохая

Vadim
18.04.2017
15:37:53
Ну это да
У же время не то
Это пока ФБ и ВК в зародыше сидели надо было делать

melancholiac
18.04.2017
15:38:24

Sergey
18.04.2017
15:38:29
А еще учти, что идя в IT ты обрекаешь себя на вечную учебу
Эта группа больше не существует