Форум сайта python.su
RodegastИнтересно было бы взглянуть на ваше решение данной задачки с использованием ‘встроенной функции reduce’
Встроенная функция reduce
Офлайн
да, я книгу читаю по питону, но так как я сразу хочу решать насущные вещи, то соответственно и пишу на форум. спасибо всем кто подсказал, ваши высказывания привнесли понимание по некоторым вопросам.
вообще свертка как раз нужна, которая описана здесь http://www.dsplib.ru/content/conv/conv.html
в общем я разобрался, и решение оказалось куда ближе - в википедии есть код на С++, который работает как надо и соответственно для питона его переписать не проблема.
Офлайн
eiyawiiУ меня импортируется там и там. Обратите внимание на то какой питон запускается, может у вас их 2 разных - это помоему наиболее вероятная причина.
ошибка - нет модуля с таким именем, а если пишу в текстовом редакторе и запускаю, то всё работает, в чем дело?
Офлайн
doza_andда, совершенно верно. у меня были установлены питоны х86 и х64 в одну папку, отсюда и возникли проблемы.eiyawiiУ меня импортируется там и там. Обратите внимание на то какой питон запускается, может у вас их 2 разных - это помоему наиболее вероятная причина.
ошибка - нет модуля с таким именем, а если пишу в текстовом редакторе и запускаю, то всё работает, в чем дело?
Офлайн
чтобы не создавать новую тему, подскажите, как при чтении из файла брать символы, которые находятся между двумя определенными другими символами, например если строка содержит “re:=4to-to;”, то надо взять “4to-to”(т.е. то, что находится иежду “=” и “;”) из этой строки и добавить в список.
Офлайн
первое что приходит в голову
import re
s="re:=4to-to;"
re.search("=(.+);",s).group(1)
Офлайн
хм, да вот только что в лутце прочитал про модуль re, но попробовал таким образом написать - не получается. если в строке попадаются подобные выражения, то возвращается 4to-to а потом остальные элементы
import re
s="re:=4to-to; djf:=565666;"
s=re.search("=(.+);",s).group(1)
print s
Офлайн
Второй аргумент строка в которой идет поиск. Можно специфицировать точнее что ищите.
re.search("=([^=]+);",s).group(1)[/code]
Теперь это строка без знаков '='
Если захотите обрабатывать вложенные равенства типа "a=b=c=4-5" что в c++ вполне возможно, то тогда проще сделать нормальный парсер - pyparsing или coco/R.
Офлайн
eiyawii
то возвращается 4to-to а потом остальные элементы
"=(.+?);"
Отредактировано (Окт. 20, 2011 07:40:15)
Офлайн
кстати - поребности бывают разные но:
свертка называется convolve
например есть numpy.convolve я поверхностно глянул - она незамысловатая вроде - трудоемкость линейно растет с длинной шаблона(ядра преобразования).
Офлайн