- string = "thisisthe"
- dictionary = {chr(i):i for i in range(97,123)}
-
- last = 256
- p = ""
- result = []
-
- for c in string:
- pc = p+c
- if pc in dictionary:
- p = pc
- else:
- result.append(dictionary[p])
- dictionary[pc] = last
- last += 1
- p = c
-
- if p != '':
- result.append(dictionary[p])
-
- print(result)
以上代码运行结果为:
- [116, 104, 105, 115, 258, 256, 101]
- dictionary = {i:chr(i) for i in range(97,123)}
- last = 256
- arr = [97, 97, 98, 256, 258, 257, 259]
-
- result = []
- p = arr.pop(0)
- result.append(dictionary[p])
-
- for c in arr:
- if c in dictionary:
- entry = dictionary[c]
- result.append(entry)
- dictionary[last] = dictionary[p] + entry[0]
- last += 1
- p = c
-
- print(''.join(result))
以上代码运行结果为:
- aabaabaabaab