【发布时间】:2013-09-11 16:14:32
【问题描述】:
我正在对任何 .txt 文件进行 Huffman 编码,所以首先我需要分析这个文本文件。我需要阅读它,然后分析。 我需要像表格一样“退出”:
信 |频率(后面重复多少次)|霍夫曼代码(稍后会出现)
我开始:
f = open('test.txt', 'r') #open test.tx
for lines in f:
print lines #to ensure if all work...
如何按字母顺序从文件中读取字符:
with open("test.txt") as f_in:
for line in f_in:
for char in line:
frequencies[char] += 1
???非常感谢
Well I tried like this:
frequencies = collections.defaultdict(int)
with open("test.txt") as f_in:
for line in f_in:
for char in line:
frequencies[char] += 1
frequencies = [(count, char) for char, count in frequencies.iteritems()]
frequencies.sort(key=operator.itemgetter(1))
但是编译器返回一个“错误” 在此输入代码
我需要这个字母顺序for循环,而不是在频率结束...
【问题讨论】:
-
对重新标记此作业有任何异议吗?
-
我看到你尝试的问题。最后两行有一个前导空格字符,并且没有
import collections和import operator语句。修复这些,它应该可以正常工作。 -
你是什么意思你需要他们在for循环中按字母顺序排列?这没有任何意义。您必须一次读取所有文件,然后在循环之前对其进行排序。这增加了什么?
标签: python huffman-code