
Igor
19.12.2016
00:34:34
Чувак, ну.
список из кортежей и sorted с параметром key
[("имя", балл, место), ("имя", балл, место)]
results_by_name = sorted(results, key=lambda x: x[0])

Google

Victor
19.12.2016
00:35:42
с 6 по 9 строчку можно заменить на a[x] = a.get(x, 0) + 1

Igor
19.12.2016
00:35:49
(по секрету скажу - копипаст тебя никак не спасёт, надо кое-что изменить)

Vhfh Huh G
19.12.2016
00:36:04
это другая задача

Igor
19.12.2016
00:36:43
Какая разница
Даже в официальной документации по OrderedDict есть нужный тебе пример использования sorted.

Vhfh Huh G
19.12.2016
00:38:27

Igor
19.12.2016
00:38:32
https://docs.python.org/2/library/collections.html#ordereddict-examples-and-recipes
Держи ссылку

Victor
19.12.2016
00:39:01
Или после
Без best practices нормальный код не напишешь.

Igor
19.12.2016
00:39:37
Гуглить "до" - как-то совсем 0 полезного получится, разве нет?
Может, от человека зависит

Vhfh Huh G
19.12.2016
00:39:55

Google

Victor
19.12.2016
00:40:32

Igor
19.12.2016
00:40:35
ЕГЭшные задачи мало кому интересны, это так.
Но способы, которыми решаются малоинтересные ЕГЭшные задачи, популярны. Они используются везде - в работе, в учебе...

Victor
19.12.2016
00:40:44

b0g3r
19.12.2016
00:41:15
Легко бессознательно скопировать чужой способ не до конца поняв его

Igor
19.12.2016
00:41:43
Банальный пример был пять минут назад - я тебе сказал про sorted с параметром key, а ты мне возразил, что это уже другая задача, и, типа, мое решение тебя никак поэтому не спасет
А желание поскорее сделать задачу зачастую сильнее желания вникнуть в нее и реализовать решение _самому_

Victor
19.12.2016
00:42:19
Я 3 год на питоне прогаю, мне не нужно запоминать язык, мне нужны подходы

Igor
19.12.2016
00:42:51
Так здесь не про язык речь. Это можно перефразировать как "мне не нужно запоминать подходы, мне нужно ими пользоваться"

b0g3r
19.12.2016
00:42:58

Igor
19.12.2016
00:43:05
Так 95% ты будешь гуглить и 5% - думать.
Эти 5% будут "думать над тем, как сделать мой код не похожим на 100% на код из нагугленного примера"
Или на тщетные (или успешные, ладно, я пессимистичен) попытки переделать найденный пример так, чтобы он работал.

Vhfh Huh G
19.12.2016
00:44:31
посоны вот оффициальная документация
»> # dictionary sorted by value
»> OrderedDict(sorted(d.items(), key=lambda t: t[1]))
OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])
а как сделать так, чтобы в порядке убывания было?

Igor
19.12.2016
00:45:15
https://docs.python.org/2/library/functions.html#sorted

Victor
19.12.2016
00:45:26
Единственная причина по которой можно решать задачу, если она уже решена, это чтобы поучиться и поэкспериментировать.
Не понимаю, зачем придумывать своё решение, если чужое идеально подходит?

Igor
19.12.2016
00:45:45
Да, но если ты уже знаешь, как она решается, тебе не надо думать

Google

b0g3r
19.12.2016
00:45:48
Короче, в задаче для обучения нужно сначала всеми силами сделать рабочее решение самостоятельно или с подсказками, а потом уже смотреть в эталонные решения
В реальной задаче я бы не был так категоричен - если что-то не получается, нужно гуглить и искать решение

Igor
19.12.2016
00:46:15

b0g3r
19.12.2016
00:46:38
Поэтому я немного сдам назад - мои аргументы были именно про самообучение, а не про гугл проблем в принципе

Victor
19.12.2016
00:46:49

Denis
19.12.2016
00:47:09

b0g3r
19.12.2016
00:47:16

Vhfh Huh G
19.12.2016
00:47:35

Victor
19.12.2016
00:47:48
типа a[x] = a.get(x, 0) + 1 — это часто используемый паттерн, зачем вообще до него додумываться самому.
или тернарный оператор

Igor
19.12.2016
00:48:01
Мне было очень стыдно те пару раз, когда я импортировал что-то (collections, re) для того, чтобы решить задачку на codewars

Vhfh Huh G
19.12.2016
00:48:16

Denis
19.12.2016
00:48:25
Ага

Igor
19.12.2016
00:48:27

Vhfh Huh G
19.12.2016
00:48:52

Igor
19.12.2016
00:48:54
=Ъ

Victor
19.12.2016
00:49:04
Нужно сразу выучить структуры данных и алгоритмы, понять, чем они отличаются и где применяются, и не тупить по несколько часов над простейшими задачами, решёнными полвека назад всем кому не лень.

b0g3r
19.12.2016
00:49:20

Victor
19.12.2016
00:49:28
Согласен.

b0g3r
19.12.2016
00:49:40
К тому же ты точно будешь понимать что он эквивалентен тому говну, что ты писал до этого, а значит, понимать как оно работает

Google

Igor
19.12.2016
00:49:44

Victor
19.12.2016
00:50:12

Igor
19.12.2016
00:50:36
За три года работы питонистом фуллтайм структуры данных и алгоритмы мне пригодились разве что на собеседованиях.
Не скрою, что я хуёвый питонист. «Формошлёп», как в соседнем чатике любят называть
но для большинства случаев нахуй не вперлось реализовывать bubble/quick/merge sort, когда есть timsort, на котором и работает (вроде) питоний sorted
Просто ведь это то же самое, что ты втирал какое-то время назад.
> Не понимаю, зачем придумывать своё решение, если чужое идеально подходит?

Vhfh Huh G
19.12.2016
00:52:17
ну епт
написал я короче

b0g3r
19.12.2016
00:52:23
Он вроде там оценивает чё собирается сортировать и выбирает нужный алгоритм

Admin
ERROR: S client not available

Igor
19.12.2016
00:52:26
Зачем знать алгоритмы и структуры данных, если готовые инструменты уже есть?

Vhfh Huh G
19.12.2016
00:52:41
в итоге 2 из 5 тестов прошло только

Victor
19.12.2016
00:52:42

Vhfh Huh G
19.12.2016
00:52:43
грустно чет
from collections import OrderedDict
n = int(input())
a = OrderedDict()
for i in range(n):
x=input()
if x not in a:
a[x]=1
elif x in a:
a[x]+=1
a = OrderedDict(sorted(a.items(), key=lambda t: t[1],reverse=True))
for i in a:
print(i)
Партии с одинаковым количеством голосов надо выводить в алфавитном порядке. блин

Igor
19.12.2016
00:54:15
Ты лучше тесты покажи
Значит, надо key дописать.

b0g3r
19.12.2016
00:54:23

Google

Victor
19.12.2016
00:54:29
Запомнить O нотацию для времени и памяти большинства алгоритмов не трудно. Да даже и запоминать не нужно. Нужно знать о существовании. Для этого можно пройти 4 недельный курс на курсере какой-нибудь. Или несколько.

b0g3r
19.12.2016
00:54:33

Igor
19.12.2016
00:54:43
Сорри-сорри

Vhfh Huh G
19.12.2016
00:54:46

Igor
19.12.2016
00:54:51
в любом случае, надо key изменить
дописать, точнее!
вот t[1] - это значение. А надо ещё и по алфавиту!

Vhfh Huh G
19.12.2016
00:55:14

Igor
19.12.2016
00:55:45
Как указать сортировку только по алфавиту в твоем случае?

b0g3r
19.12.2016
00:55:53
Можете подсказать что делать с ебанным сбившимся режимом

Vhfh Huh G
19.12.2016
00:56:02

b0g3r
19.12.2016
00:56:03
Какой кей поменять

Igor
19.12.2016
00:56:03

b0g3r
19.12.2016
00:56:07
Не катит

Igor
19.12.2016
00:56:12

b0g3r
19.12.2016
00:56:26
Неделю назад жрал после джетлага

Igor
19.12.2016
00:56:35
и?

Victor
19.12.2016
00:56:43
key=(t[1], t[0])

b0g3r
19.12.2016
00:56:50
Не уверен что жрать гормоны так часто это норма

Vhfh Huh G
19.12.2016
00:57:04
если ты по ночам не спишь он у тебя и так плохо выделяется

b0g3r
19.12.2016
00:57:24
Да это какая-то психологическая херня
Эта группа больше не существует