Pull to refresh
170
0
Вадим Карпусенко @Vadikus

Пользователь

Send message
>>> import collections
>>> def t(str):
...     cntr = collections.Counter(str)
...     return next((x for x in str if cntr[x] == 1), None)
... 
>>> t('test')
'e'
>>> from timeit import Timer
>>> Timer("t('1 2 3 45')", "from __main__ import t").timeit()
12.961874008178711

Т.е. в 13.6 раз медленнее второго способа из текста.
А сейчас подумал, что вообще надо было её loop'ом обозвать и не мучаться.
Да, полностью согласен. Просто когда-то прочитав о том как работает мусоросборщик в питоне, вспомнил о нём в контексте данных задач. Вот и написал о потенциальной проблеме, которую давно решили, но я пропустил мимо ушей. Поэтому это замечательно, что можно вот так вот обсуждать интересующие тебя темы и постоянно учиться на своих ошибках. Спасибо.
Прошу прощения. Смесь какая-то получилось, думал про cycle и circle…
Да, так и есть. Сам нашёл эту ссылку, когда копать начал ответ на прошлый коментарий. Но всё равно спасибо.
Напишите задачки для senior'а — вместе с удовольствием порешаем.
Вопрос очень интересный. Вот тут растолковали хорошо. Удаление по числу ссылок было единственным способом контроля памяти до 2.0 версии питона. С этой версии ввели штатную проверку на зацикленность.
Ваша правда — вместо scanf используем gets, что бы вчитать всю строку целиком.
ПС: а за что убивать то? Второй вариант функции видели?
Очевидно, что для юникода нужно использовать питон.
вот такой вот хреновый я переводчик!
Вопрос был обговорён. Задачи я беру из обще-доступных источников. Про интервью — меня не просили не разглашать задачи. Но как человек порядочный, я подожду чуть больше месяца перед обсуждением оных. И на самом деле, задачи действительно очень-очень общие. Что хочется обсуждать при решении задач, это не просто конкретный способ, хотя его конечно хорошо бы знать, а скорее то, на что стоит обращать внимание при кодинге. Так что даже не просто подготовка к интервью, а наработка навыков хорошего программирования.
Будет интересно, как Вы на русском будете объяснять китайцу и индусу, что вы хотите сделать со своими данными в дереве например.
Точно-точно. Спасибо за подсказку, сейчас поправлюсь.
Придумал как я буду использовать этот скрипт.
На отдельном сервере стоит JDownloader, который качает файлы из RSS лент. Часто туда попадают дубликаты и куча мусора, даже если использовать внутренний фильтр.
Real case scenario: смотрим на RSS, достаём ссылки на нужные файлопомойки. Например, хотим скачать Daily Show with Jon Stewart, если серия с найденной датой уже была добавлена — откидываем. Так же отпадают дубликаты с разным написанием файла, но тем же содержанием… и т.д.
Отлично получилось! Можно начинать искать агента, и заключать контракт со звукозаписывающей студией.
Угостите печенькой. vadikus at gmail dot com
Благодарю.
На маемо есть замечательная Qexercise. Написана на Qt, функционала намного больше, чем в моём самопальном скриптике. Но Вы теряете основную мысль этой публикации. Точнее это моя вина, что я её внятно не выразил. Кроме того, что это просто практика использования PyGTK и примочек питона (самоизменяющийся код). Это в первую очередь ОГРОМАДНЕЙШИЙ МОТИВАТОР (это не CapsLock застрял, это я тут виртуально ору на всю Ерёменскую). После написания своего кода я не хочу пропускать больше спортзал. Мне НРАВИТСЯ использовать СВОЙ код. Я просто в восторге, когда ко мне подходят люди и спрашивают, что за программу я использую. Тут можно всегда раздуть хвост и так… сверху вниз: «А это я САМ НАПИСАЛ!!!». Короче, разница в подходах. Маемо это для меня в первую очередь отход от попсовости и возможность телефон полностью… нет, не так… ПОЛНОСТЬЮ подкрутить под себя. Начиная от скриптов, меняющих статус при вхождении в радиус WiFi точки, определяя по её мак-адресу, заканчиваю ежедневным бекапом по крону важнейших записей и т.д. и т.п. Надеюсь, я аргументированно ответил? Тогда пойду ка я спать.
Уважаемый, это Вам не дерти и даже не лепра. Сань, ты говорил что будет два комента про панды, но не упомянул, что один из них будет твой)))

Information

Rating
Does not participate
Location
Santa Clara, California, США
Date of birth
Registered
Activity