【发布时间】:2014-04-27 23:15:37
【问题描述】:
这是我想要完成的任务的要点。我有一个包含大量单词的 .txt 文件(dict.txt)。我的任务是计算 .txt 文件中每个字母的频率并将其放入列表中,将每个元素转换为百分比(将 ea 元素除以 100),然后将该列表用作条形图的 y_axis。
到目前为止,我已经创建了一个字典,其中包含每个字母作为键,值等于该字母在 .txt 文件中出现的总次数。我卡住的地方是让每个值除以 100,然后将这个新数字放入一个列表中,我可以将其用作绘图的 y 轴。 x 轴是字母本身。
这是我已经写好的代码:
letter_dict = {}
word_list = []
filename = raw_input('Enter filename: ')
new_file = open(filename).readlines()
for i in new_file:
word = i.strip().lower()
word_list += list(word)
for letter in word_list:
if letter in letter_dict:
letter_dict[letter] += 1
else:
letter_dict[letter] = 1
x_axis = []
y_axis = []
summ= 0
for i in letter_dict.values(): #sum of all values in list
summ += i
value_list = list(letter_dict.values())
for k in letter_dict:
x_axis += [k]
print summ
y_axis = []
num_avg = []
for i in value_list:
y_axis += [int(i) / summ]
create_plot(x_axis, y_axis, filename) #this is for my "plot" function
每当我 for 循环(我在 value_list 中)然后将 ea 元素除以总和时,打印的列表返回为 [0,0,0,0,0,0,0,0,0,0,0,0, 0,0]。我难住了。
【问题讨论】:
标签: python list dictionary