Jump to content

LZW compression: Difference between revisions

Line 242:
=={{header|Python}}==
 
In this version the dicts contain mixed typed data:
<python>
from collections import deque
 
def compress(uncompressed):
"""Compress a string to a list of output symbols."""
Line 253 ⟶ 252:
 
w = ""
result = deque()[]
for c in uncompressed:
wc = w + c
Line 278 ⟶ 277:
dictionary = dict((chr(i), chr(i)) for i in xrange(dict_size))
 
w = result = compressed.popleftpop(0)
for k in compressed:
if k in dictionary:
Line 285 ⟶ 284:
entry = w + w[0]
else:
raise ValueError, ('Bad compressed k: %s' % k)
result += entry
 
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.