Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,28 @@
|
|||
from __future__ import print_function
|
||||
from string import ascii_lowercase
|
||||
|
||||
SYMBOLTABLE = list(ascii_lowercase)
|
||||
|
||||
def move2front_encode(strng, symboltable):
|
||||
sequence, pad = [], symboltable[::]
|
||||
for char in strng:
|
||||
indx = pad.index(char)
|
||||
sequence.append(indx)
|
||||
pad = [pad.pop(indx)] + pad
|
||||
return sequence
|
||||
|
||||
def move2front_decode(sequence, symboltable):
|
||||
chars, pad = [], symboltable[::]
|
||||
for indx in sequence:
|
||||
char = pad[indx]
|
||||
chars.append(char)
|
||||
pad = [pad.pop(indx)] + pad
|
||||
return ''.join(chars)
|
||||
|
||||
if __name__ == '__main__':
|
||||
for s in ['broood', 'bananaaa', 'hiphophiphop']:
|
||||
encode = move2front_encode(s, SYMBOLTABLE)
|
||||
print('%14r encodes to %r' % (s, encode), end=', ')
|
||||
decode = move2front_decode(encode, SYMBOLTABLE)
|
||||
print('which decodes back to %r' % decode)
|
||||
assert s == decode, 'Whoops!'
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
def m2f_e(s, st):
|
||||
return [[st.index(ch), st.insert(0, st.pop(st.index(ch)))][0] for ch in s]
|
||||
|
||||
def m2f_d(sq, st):
|
||||
return ''.join([st[i], st.insert(0, st.pop(i))][0] for i in sq)
|
||||
|
||||
ST = list('abcdefghijklmnopqrstuvwxyz')
|
||||
for s in ['broood', 'bananaaa', 'hiphophiphop']:
|
||||
encode = m2f_e(s, ST[::])
|
||||
print('%14r encodes to %r' % (s, encode), end=', ')
|
||||
decode = m2f_d(encode, ST[::])
|
||||
print('decodes back to %r' % decode)
|
||||
assert s == decode, 'Whoops!'
|
||||
Loading…
Add table
Add a link
Reference in a new issue