@python_beginnersЭта группа больше не существует

Страница 946 из 1885
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.

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
Гуглить "до" - как-то совсем 0 полезного получится, разве нет? Может, от человека зависит
Возможно, просто я всегда, когда впервые сталкиваюсь с задачей, смотрю как сделали её другие. Или похожие. Чтобы не воротить кучу.

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

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
Я 3 год на питоне прогаю, мне не нужно запоминать язык, мне нужны подходы
Я где-то сказал про запоминание конструкций языка?

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
Короче, в задаче для обучения нужно сначала всеми силами сделать рабочее решение самостоятельно или с подсказками, а потом уже смотреть в эталонные решения В реальной задаче я бы не был так категоричен - если что-то не получается, нужно гуглить и искать решение

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

Denis
19.12.2016
00:47:09
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
reverse=True или отрицательные ключи
»> # dictionary sorted by value »> OrderedDict(sorted(d.items(), key=lambda t: t[1],reverse=True)) так?

Denis
19.12.2016
00:48:25
Ага

Igor
19.12.2016
00:48:27
»> # dictionary sorted by value »> OrderedDict(sorted(d.items(), key=lambda t: t[1],reverse=True)) так?
Ты попробовал хотя бы перед тем, как спросить?)

Igor
19.12.2016
00:48:54


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

b0g3r
19.12.2016
00:49:20
типа a[x] = a.get(x, 0) + 1 — это часто используемый паттерн, зачем вообще до него додумываться самому.
Когда ты выполняет задание абы как, а потом смотришь эталонной решение, у тебя возникает четкая связь "в этом случае нужно было сделать так" и этот паттерн запомнится на раз два

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

Google
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 тестов прошло только

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 дописать.

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
Значит, надо key дописать.
можешь подсказать как его лучше дописать?

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

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

b0g3r
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
Да это какая-то психологическая херня

Страница 946 из 1885

Эта группа больше не существует Эта группа больше не существует