LINUX.ORG.RU

Простенький архиватор

 ,


0

1

Возник вопрос как модифицировать вот этот вод код, чтобы он «сжимал» текст а не набор символов. Чтобы в начало файла помещался словарь типа: «слово:цифра» ну и соответственно это все заменялось туда и обратно, буду рад любому совету.

# -*- coding: cp1251 -*-
import re

s,match,b = 'abbcccddddfjja','',''
t = []

for i in s:
    if i == b: continue
    b = i
    pattern = '%s{1,}' % i
    match = re.search(pattern, s)
    s_ = str(len(match.group())) + match.group()
    t.append(s_[:2])
    #match = re.sub(pattern, s_[:2], s)    
print 'строка: ' + s + '\n' + 'заархивирована: ' + str(t)

s = ''
for i in t:
    s += int(i[0])*i[1]
print "разархивирована: " + s



Последнее исправление: AleksJen (всего исправлений: 2)

Ответ на: комментарий от AIv

Не, ну по байтикам - у меня 268, у тебя 618;-) Дык и задача ж простая.

чем проще задача - тем легче питону :)

Наш Гуру, который последний год играется с хаскелем и даже под ГПГПУ на нем пишет, говорил что ЯП оч. прикольный с оч. интересными идеями, но код примерно вдвое длинней аналогичного питоньего.

Ну тут от задаче к задаче может сильно меняться, но в любом случае языки немного разных классов с соотвествующими свойствами :)

Я со временем наверное хочу его попристальней поглядеть - не для использования, а для получения новых идей.

это опасно, трижды подумай перед тем, как глядеть, т.к. у многих, кто попробовал «не для использования» со временем исчезает. :)

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Кстати по литературе что нить можешь подсказать (желательно вменяемую книгу на русском)? Я в инете нашел только Антон Холомьёв «Учебник по Haskell» 2012г - книга лежит в свободном доступе на сайте автора, уже за это ему РЕСПЕКТ-И-УВАЖУХА!

«Хаскель во имя добра» я купил в подарок гуру, в слабой надежде ее потом прочитать - он до сих пор ее изучает... а в электронном виде ее нигде нету (у меня читалка) ;-(

AIv ★★★★★
()
Ответ на: комментарий от qnikst

это опасно, трижды подумай перед тем, как глядеть

Не, это безопасно. Меня скорее интересует привить питону некоторые идеи хаскеля;-)

AIv ★★★★★
()
Ответ на: комментарий от AIv

Много слов по делу мало:

«Хаскель во имя добра» есть на английском на оффсaйте так что можно сгенерить pdf-ку, имхо, книжка интересная, но не глубокая (хотя я её прочитал, когда уже был приличный опыт), как легкое вступление - подойдет. «Real world haskell» я целиком так и не осилил, хотя с его начинал, есть в свободном доступе online, книга хорошая, местами устаревшая, но как только с этими местами ты встретишься - то можешь задавать вопросы в community быстро расскажут, часто заглядываю в него как в шпаргалку по профилировке и т.п.. Книгу Антона Холомьева полностью не читал, но начало понравилось, имхо одна из самых толковых. Есть ещё книги по алгоритмам «Pearls of Functional Algorithm Design» (сложная), и по структурам данных Okasaki «Purely Functional Data Structures» (тезисы по которым она была написана можно найти на сайте автора, может быть интересно даже если не быть знакомым конкретно с haskell, скорее всего ортогональна твоим интересам, но полезна для кругозора).

Так же если язык понравится, то за различной информацией и решениями нужно будет лезть в статьи различных ведущих разработчиков. Основная сложность тут наверное в том, что направлений изучения и развития в языке очень много и по этим направлениям он не стабилен, и соотв информацию можно найти только в статьях, а их много, при этом если начинать изучать начиная со старых, то придётся читать достаточное кол-во устаревших статей, а с новых - слишком много ссылок в прошлое :)

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Ок, спасибо, начну с Холомьева.

Еще бы на свою нокию N900 его поставить, а то еду в Безенги - тащщить ноут не хочется. Да и в метро играться самое то;-)

Под maemo хаскель не портировали?

PS ОЮ вроде портировали, тока у меня репозитории кривые;-( Ну щас разберемся...

AIv ★★★★★
()
Последнее исправление: AIv (всего исправлений: 1)
Ответ на: комментарий от AIv

Тут я не подсказчик. А так для информации: Из железа хацкель умеет на amd64, arm, ia64, x86, ppc, PPC64, alpha. С кросскомпиляцией тяжко, формально она есть, но не каждый осиливает настроить Про maemo и как что там я честно не в курсе и не интересовался. Если есть интернет, можно попробовать tryhaskell или fpcomplete.com и там и там у тебя будет доступ к интерпретатору. Можешь отдельно поспрашивать истории успеха.

qnikst ★★★★★
()
Последнее исправление: qnikst (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.