leron
0
А можно детальней о глупости?

И интересно, какие именно встраиваемые аппликации пишете на Python.
leron
0
Мысли о Python3 от автора Jinja2 — http://lucumr.pocoo.org/2011/12/7/thoughts-on-python3/
leron
0
Да, Вы правы, там опечатка. Исправленный вариант в 2-3 раза медленнее.
leron
–2
Такая сортировка — это уже целая фича, и было бы странно, если бы стандартная библиотека предоставляла такие возможности.

Один из вариантов реализации — определить rich compasion методы для объекта. Если критерии сортировки меняются — перед каждой сортировкой обвёртывать в объект с нужной конфигурацией сравнения.
leron
0
Так и быть, держите развернутый ответ habrahabr.ru/blogs/python/138625/ :)
leron
+1
lst.sort(key=lambda x: (x['order'], x['name'])) разве не проще?

leron
0
`key` намного более понятен. Мне сложно представить реальный пример, в котором использование `cmp` будет оправдано.
leron
0
В данном случае намного удобней именно `key`:

>>> l = [(1, 2), (4, 5), (100, 1)]
>>> sorted(l, key=lambda x: x[::-1])
[(100, 1), (1, 2), (4, 5)]


Кроме того, `cmp` параметер уже де-факто устарелый (был удален в Python 3.0).
leron
0
Может я что-то путаю, но разве это то, что надо сделать в задании?

>>> non_repeating('test')
't'
leron
+42
История от лектора по функанализу:

Одного известного математика спросили:
— Какое самое главное задание математики в 20-ом веке?
Он ответил:
— Поймать бабочку на обратной стороне Луны.
— Но зачем, в чём смысл?
— Да незачем, это бессмысленно, но вы представляете, сколько полезных проблем для этого надо будет решить?
leron
+3
Не называйте переменную «file». Для логированья используйте не «open(»sqlite_slow.log", «a+»)", а logging. Для такого логирования и тайминга отлично подойдет декоратор с использованием contextlib.
leron
+1
Выше была ссылка — mvs.gov.ua/mvs/control/main/uk/publish/article/98074

На странице внизу список файлов на этом самом фтп-сервере. Думаю, есть и другие файлы, и ссылки на них.
leron
+1
+ линк на Python Data Model.

А ещё было бы очень интересно узнать о изменениях в протоколе атрибутов в Python 3 в сравнении с Python 2.6

leron
0
Спасибо за занудство:)
leron
0
16 в названии совсем не значит, что используются 16 бит\2 байта\65 535 доступных комбинаций. Деталей кодировки не знаю, число взял сами знаете откуда. Посмотреть детали думаю можно там же (пока не закрыли в знак протеста против SOPA:) )
leron
+1
Нет, это просто стиль такой выбран. А вобще автор совсем не русско-говорящий :)

>> интуитивно хочется наоборот

дык на самом деле и есть наоборот — байты в Unicode — это декодирование.
leron
+5
Символ — это, например, «CYRILLIC SMALL LETTER A», а байт — это нолики и еденицы, например '\xe0'. Для того, что б байт стал символом, необходима кодировка. И в зависимоти от кодировки, этот байт (или байты) может представлять разные символы.
leron
+1
if fn and type(fn)==MethodType стоило бы заменить на isinstance(fn, MethodType).

А по делу — хорошая демонстрация развития идеи и возможностей Пайтона :)
leron
0
Я не нашел других реализаций поиска специально для неоднобайтовых кодировок, так что могу предположить что они сравниваются побайтово.
leron
0
— sublinear search behaviour in good cases (O(n/m))
— no worse than the current algorithm in worst case (O(nm))


отсюда — effbot.org/zone/stringlib.htm
leron
0
Спасибо за линк. Добавил в пост.
leron
+4
Если строго, то html по классификации Хомского принадлежыт к типу 2 (контекстно-свободные), в тоже время регулярки — 3 тип. То есть html нельзя описать (а значит и пропарсить) с помощью regexp.
leron
+3
Почему нельзя парсить html регулярками — это сюда stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 :)
leron
0
And to those taking the thread seriously: this is all in jest. We
won't change the indexing base. The idea is so preposterous that the
only kind of response possible is to laugh with it.

(Коротко — «Ребята, это просто шутка»)

Второй ответ Гвидо, который понял, что некоторые восприняли идею всерьёз:)
leron
+2
«про новомодные алгоритмы, такие как нейронные сети»

Вы издеваетесь? Эти алгоритмы успели уже много раз появится, стать взрывобразно популярными, забыться и заново возродится.
leron
0
У раздела «Дифференциальное выделение границ» замечательное содержание :)

Если вспомнили Собеля, грех не вспомнить оператор Лапласа. Если уж расписали обе матрицы для оператора Собеля, стоить добавить формулу для вычисления направления границы — «a = arctg(A*Gx / A*Gy)».

Из как уже заметили, метод Канни(Canny) — де-факто основной метод распознавания границ на изображении на сегодня, но о нем ни слова.
leron
0
Теперь понятно :) Фраза

>не очень известного, но крайне интересного иерархического метода

никак не имела ввиду редкость иерархических методов вообще, а только редкость конкретного метода.

п.с. у Вас отличные статьи о распознавание образов :)
leron
0
>он используется очень часто
Странно. До публикации статьи на гуглом находилось всего несколько научных статей-книг с упоминанием алгоритма.

> дерево кластеров
> нет необходимости заранее фиксировать число кластеров
Это всем известные преимущества иерархических методов. Не видел смысла о них упоминать еще раз.

> Только вот вы почему-то это дерево в статье не привели
Я бы с радостью, только здесь на порядок больше нужно было поработать над представлением результатов (дерево надо красиво нарисовать, точки на рисунках удобно пронумеровать) — а я пока так себе владею matplotlib.
leron
0
Идея в построение отношения, которое обладает свойством эквивалентности. В книге есть определения теоремы, которая утверждает что отношение эквивалентности разбивает множество на попарно непересекающиеся классы эквивалентных элементов.

Я бы с удовольствием интерпретировал это определение, но мои познания с теории множеств не позволяют :)
leron
0
Да, нужно посчитать n*n/2 расстояний. Кроме того, операция свертки может быть довольно дорогой для не дискретных данных.
leron
0
Я не уверен, что правильно Вас понял, но при чем здесь матстатистика?

> процесс какого вида мог к нему привести
Похоже на предметную область теории конечных автоматов.
leron
0
Да, это будеть True, но не потому что 11 > 0, а потому что True(1) > 0.

> питон под рукой
http://codepad.org
leron
0
Спасибо, поправил.
leron
+4
Смотрим байт-код:

>>> def f1():
...     a, b = 0, 1
...     b, a = a, b
...
>>> def f2():
...     a, b = 0, 1
...     c = a
...     a = b
...     b = c
...

>>> dis.dis(f1)
  2           0 LOAD_CONST               3 ((0, 1))
              3 UNPACK_SEQUENCE          2
              6 STORE_FAST               0 (a)
              9 STORE_FAST               1 (b)

  3          12 LOAD_FAST                0 (a)
             15 LOAD_FAST                1 (b)
             18 ROT_TWO
             19 STORE_FAST               1 (b)
             22 STORE_FAST               0 (a)
             25 LOAD_CONST               0 (None)
             28 RETURN_VALUE
>>> dis.dis(f2)
  2           0 LOAD_CONST               3 ((0, 1))
              3 UNPACK_SEQUENCE          2
              6 STORE_FAST               0 (a)
              9 STORE_FAST               1 (b)

  3          12 LOAD_FAST                0 (a)
             15 STORE_FAST               2 ©

  4          18 LOAD_FAST                1 (b)
             21 STORE_FAST               0 (a)

  5          24 LOAD_FAST                2 ©
             27 STORE_FAST               1 (b)
             30 LOAD_CONST               0 (None)
             33 RETURN_VALUE



Ищем отличия и смотрим, что такое ROT_TWO:

Swaps the two top-most stack items. (дока)

И так, на самом деле вариант с упаковыванием-распаковыванием списков потребляет меньше памяти. Компилятор умный, он оптимизирует.
leron
+2
k = 0
for i in permutations(range(10)):
  if k >= 5:
    break
  print i
  k += 1

с itertools превратится в
list(islice(permutations(range(10)), 5))
leron
+1
Элегантность — довольно субъективное понятие. Если вариант решения, при котором создается отдельная функция make_lambdas(i), которая возвращает готовые lambd-ы, которые работают корректно (в этом случае уже используются замыкания).

А вобще я согласен, что пример немного надуманный. Добавлю ссылку на Execution model — возможно даже надуманный пример воодушевит кого-то на изучение доки.