I have a piece of code
# create list of (val, key) tuple pairs
freq_list2 = [(val, key) for key, val in freq_dic.items()]
# sort by val or frequency
freq_list2.sort(reverse=True)
freq_list3 = list(freq_list2)
# display result as top 10 most frequent words
for freq, word in freq_list2:
print word, freq
freq_list4 =[]
freq_list4=freq_list3[:10]
print freq_list4
f = open("wordfreq.txt", "w")
f.write( str(freq_list4) )
f.close()
output_filename = 'wordfreq.arff'
with open(output_filename,"w") as fp:
fp.write('''@RELATION wordfrequency
@ATTRIBUTE word string
@ATTRIBUTE frequency numeric
@DATA
''')
Essentially I am trying to feed the values from key and val so that @data looks like:
@data
word1, 21
word2, 17
I’m not very good with this particular area, so any help would really be appreciated.
1) You should begin to do
to see the result and conclude on the utility of the first instruction.
2) What’s the point of freq_list3 ? freq_list3 and freq_list2 are two distinct objects with the same value. Do you need two objects (that is to say their adresses are different:
id(freq_list3)==id(freq_list2)is False) of the same value ?3)
freq_list4 =[]
is a useless instuction, since freq_list4 is then re-assign to another object of value freq_list3[:10]
4) If yoiu want to record values of the tuples in a file, you must read these values in the list, that is to say to extract them from the list,
freq_list4[0] is the first tuple in freq_list4
freq_list4[0][0] is the first element of the first tuple in freq_list4
freq_list4[0][1] is the second element of the first tuple in freq_list4
If you iterate on the list:
or