本文是关于【Python LZW 算法】的内容,对于编程知识来说,每天了解最新的编程知识,是每天必须要做的,掌握最新编程,了解最新教程,投入最新动力来展现以后。
Python LZW 算法
LZW 压缩算法
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]
LZW 解压缩算法
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
本文关键词:Python LZW 算法,更多相关编程教程请关注电子技术学习网站!