@ru_python

Страница 2042 из 9768
subject_89P13
16.01.2017
12:29:50
В воздухе чата висит нежный троллинг.

Artem
16.01.2017
12:30:18
нежный топор

Игорь
16.01.2017
13:18:48
А поясните за protected member. У меня есть класс AbstractClass, который объявляет self._abstract_atribute так вот, pylint W0212 всплывает не только в наследующих классах, но и в нем самом при доступе к собственному self._abstract_atribute. Это ожидаемо?

Denis
16.01.2017
13:22:22
Вроде не должно

Google
Denis
16.01.2017
13:22:40
Ты это в методе делаешь?

Aragaer
16.01.2017
13:25:35
а покажи-ка полностью код

и вроде w0212 в наследниках тоже не должен бы показываться

то есть ошибка не в том, что в нем самом или в наследнике, ошибка в чем-то другом

Игорь
16.01.2017
13:49:10
сорри, разобрался — ругается не на собственный _abstract_atribute, а на _abstract_atribute._item, переданный как параметр

Denis
16.01.2017
14:31:17
Сортировкой подсчетом

Aragaer
16.01.2017
14:31:54
да

память будет O(1), время O(N)

если быть точнее, переменные это всего 10 интов

сортировка не нужна, просто подсчет

Проксимов
16.01.2017
14:35:12
Можно в общем описать как будет работать программа подсчётом?

Aragaer
16.01.2017
14:35:53
сначала считываем первое число, которое N

потом делаем массив размера 10, заполненный нулями. Потом N раз делаем следующее - считать число, для каждой его цифры увеличиваем на 1 соответствующее число в массиве.

Google
Aragaer
16.01.2017
14:37:22
и осталась уже ерунда, там эффективность не критична

Проксимов
16.01.2017
14:45:19
О, спасибо

А я то начал через словари решать

Кстати, когда программа отработала, получается список типа[2,3,0,5,...] Как найти наибольшей элемент и вывести его индекс

Aragaer
16.01.2017
14:49:23
это ты уже сам как-нибудь сможешь 8)

Проксимов
16.01.2017
14:49:44
Что-то туплю

Artem
16.01.2017
14:49:57
Сделай над собой усилие

Проксимов
16.01.2017
14:50:14
Найти самый большой элемент легко, а вот связать с индексом

Аа

Мои Извинения, туплю жёстко

Aragaer
16.01.2017
14:52:14
`>>> [x[1] for x in sorted(zip([10, 1, 12, 3, 4, 5], range(1000)))][-2:] [0, 2]`

>>> [x[1] for x in sorted(zip([10, 1, 12, 3, 4, 5], range(1000)))][-2:]

мхм

ну вот так вот можно

Artem
16.01.2017
14:53:58
Если человек учится программировать, то правильный ответ - цикл for.

Зачем все в однострочник пытаться запихнуть

Aragaer
16.01.2017
14:56:35
цикл for я тоже пытаюсь сейчас написать 8)

Nikolay
16.01.2017
14:57:20
defaultdict[some_int_here] += 1 же

память постоянная, всего 10 пар ключ-значение

Google
Levent
16.01.2017
14:58:23
Зачем все в однострочник пытаться запихнуть
Потому что "МЕНЬШЕ ЖЕ СТРОЧЕК!"

Максим
16.01.2017
14:59:00
Гайз, мб тупой вопрос, но как список чисел перевести в одно число? [1,2,3] в 123

Aragaer
16.01.2017
14:59:26
arr = [10, 2, 3, 4, 15, 6, 7, 8, 9, 10] first, second = 0, 1 for x in range(2, 10): if arr[x] > arr[first]: first, second = x, first elif arr[x] > arr[second]: second = x first, second (4, 0)

короче циклом сложнее

Aragaer
16.01.2017
14:59:36
str

8)

print ','.join(str(1234)) 1,2,3,4

вообще вон правильно подсказывают про дикт, в котором ключи не цифры, а строки "0", "1" и т.д.

Максим
16.01.2017
15:01:51
Спасибо

Artem
16.01.2017
15:04:39
Это скучный вариант, почти правильный (с лишними умножениями, но с кем не бывает)

А вот вам чистое золото, а не вариант

Artem
16.01.2017
15:04:54
int(re.sub("[^0-9]", "", str([1, 2, 3])))

Кто хуже?

Nikolay
16.01.2017
15:06:40
Artem
16.01.2017
15:07:21
ага

десятки в степень возводим, а могли просто итеративно умножать результат на 10

Максим
16.01.2017
15:08:09
Ни один я такой хер, который использует перемнную кек

Проксимов
16.01.2017
15:10:09
Я,похоже,небольшой холивар начал

Aragaer
16.01.2017
15:10:36
а, надо было наоборот..

Google
Aragaer
16.01.2017
15:11:28
int(''.join(map(str, [1, 2, 3])))

reduce(lambda x, y: x*10+y, [1, 2, 3], 0)

вот

Admin
ERROR: S client not available

Aragaer
16.01.2017
15:15:04
кошерненько

Dmitriy
16.01.2017
15:15:18
int(reduce(lambda x, y: str(x)+str(y), [1,2,3]))

Nikolay
16.01.2017
15:15:20
Наркомания какая-то

Artem
16.01.2017
15:17:24
result = 0 for digit in digits: result = result * 10 + digit

Aragaer
16.01.2017
15:17:26
на си я бы написал аналог этого редьюса

Artem
16.01.2017
15:17:33
хули выебываться.

Aragaer
16.01.2017
15:17:40
да, это оно же

Artem
16.01.2017
15:23:01
Не классно

Классно примерно так

def argmax(values) cur_max_value = values[0] cur_max_idx = 0 for idx, value in enumerate(values): if value > cur_max_count: cur_max_value = value cur_max_idx = idx return cur_max_idx

Aragaer
16.01.2017
15:24:30
это один максимальный ищет. А там надо два

я написал с first и second

Artem
16.01.2017
15:24:44
Где надо два?

Nikolay
16.01.2017
15:24:55
Как два байта

Aragaer
16.01.2017
15:25:12
а, вру

Google
Aragaer
16.01.2017
15:25:29
надо вывести максимальный, а если их несколько, то все в порядке убывания

Nikolay
16.01.2017
15:25:56
ШТО, сессия вроде закончилась у студентов.

Artem
16.01.2017
15:26:01
А, вижу, надо все для аргмакса

Artem
16.01.2017
15:26:30
ну тогда надо копить аргмаксы в списке и сравнивать на >=, а не менять

Aragaer
16.01.2017
15:26:40
не, можно найти максимальный

Artem
16.01.2017
15:26:46
И еще раз пройти

Aragaer
16.01.2017
15:26:56
а потом просто распечатать все, кто равен максимальному значения

Artem
16.01.2017
15:27:31
Да. Ну учитывая, что у нас n фиксированное 10, пофиг, сортировать - не сортировать

Проксимов
16.01.2017
15:27:43
Сойдёт решение?

Aragaer
16.01.2017
15:27:48
val_max = max(digits.values()) for k, v in digits: if v == val_max: print k

Страница 2042 из 9768