Roman Kitaev: По сути, Роман, и в рамках приведенного примера с функцией sum(), не могу не согласиться, поскольку придерживаюсь той же точки зрения. А по факту - подобные примеры крайне редки. Да и в этом, "лишний список в памяти" - все зависит от задачи. А вот лучше читается - да.
Леонид: Можно учиться "отсеивать сходу", а можно понимать рамки допустимого использования инструмента в зависимости от условий и пользоваться этим в своих интересах и/или интересах клиента. Тут уж каждый сам себе хозяин-барин.
Леонид: О... Big O notation в ход пошли :) Как меня учили мои наставники, оптимизация кода в Python - это в последнюю очередь. Если реально нужно. Нужно ли это ТС в рамках его текущего вопроса? Я не знаю.
Roman Kitaev: Стоило или не стоило бы, согласитесь, Роман, это уже в рамках моей компетенции. Если уж быть до конца принципиальным, то перед тем, как браться за решение задач, поставленных клиентом, исполнителю следует задать ему не один, и не два, а пару десятков уточняющих вопросов. Ибо не мне вам объяснять, что за каждым "сказано" на бумаге, разные люди могут видеть разные толкования.
ProgCS:
В наше время как никогда много тренингов, лекций, книг, фильмов о достижении целей, мотивации, тайм-менеджмента и т.п.
Но, в сухом остатке, всё, рано или поздно, упирается в Самодисциплину. Тактически, "пинки" извне могут быть полезны, но Стратегически - только Самодисциплина, ибо поддерживать мотивацию постоянно невозможно, и штука эта (мотивация) довольно непостоянная, а что-то делать для достижения своих целей нужно постоянно. И, зачастую, большую часть тех или иных действий приходится делать через: "Надо, Федя, надо...".
Кстати, лучший и простейший совет по т.н. "тайм-менджменту" я прочитал очень давно, году в 2001 наверное, в какой-то из книг (навскидку не вспомню):
****************************
Был как-то такой крупный американский промышленный магнат, Чарльз Шваб, в свое время президент ныне "покойной" Bethlehem Steel (американская сталелитейная компания). У него был личный советник, Ивом Ли. Однажды Шваб обратился к Ли с просьбой подсказать, как лучше организовать свой рабочий день, чтобы всё успевать. На что Ли ответил:
"Напишите в конце рабочего дня 5 самых важных дел назавтра, начните день с выполнения первого по важности и делайте его до полного выполнения. После, приступайте ко второму по важности... И так далее. Даже если вы не успеете сделать все 5 дел, по крайней мере вы успеете сделать самые важные из них. В конце дня распланируйте схожим образом следующий. В любом случае, никаким другим способом вы не успеете сделать больше..."
**************************
Понятно, что там где 5, там может быть и 8, и 3... Понятно, что дела редко делаются линейно: возникают текущие вопросы, проблемы и т.п. Это все понятно. Но по-сути, это самый простой и логичный способ из существующих: сначала беретесь за более важные дела, доводите их до конца, потом следующие и так далее...
ProgCS:
Я не вижу проблему в том, что вы делаете то, что вам нравится, чем вы страстно увлечены... Ну какая это может быть проблема? :) Но, в то же время, я понимаю, о чем вы говорите...
Поэтому давайте так: ваша проблема - это не проблема, это нормально, это тоже нужно (пробовать, искать, увлекаться)... Просто И ДЛЯ ЭТОГО выделите себе время: скажем, "час учусь, 15 минут отдыхаю/балуюсь с JS"; или: "закончу эту главу - полчаса "поиграюсь" с CSS..."
Только правильно расставляйте приоритеты - "Делу время - потехе час" :)
Marat_Web:
Дополню Романа...
Английский нужен 100%. Поэтому учить обязательно.
Что касается Django, начать можно и с русскоязычных материалов, чтобы не тратить время. Их немного, но они есть и довольно хорошие:
Сначала книга: "Django. Подробное руководство" (Адриан Головатый, Джейкоб Каплан-Мосс)
После - интернет-ресурс: Django Girls Tutorial (русский язык выберете в настройках)
У вас в условии очевидное противоречие: у вас, с ваших слов, значение text привязано к конкретной ПАРЕ результата CAT/DOG...
А отсортировать вы хотите ОДНОВРЕМЕННО по двум переменным, что неминуемо приведет к ДРУГОЙ паре CAT/DOG, отличной от первоначальной, ведь по вашему условию, (сортировка CAT по минимуму, а DOG по максимуму) первоначальные пары, скажем, 20.0/10.0 и 30.0/15.0 после сортировки приобретут вид 20.0/15.0 и 30.0/10.0 соответственно...
К какой паре, в этом случае, отнести text-ы, привязанные изначально к первым парам (до сортировки) ????