Hello, again. I want to count words in a text file. If a word repeats I want to increase the count by 1; if the word is new to the dictionary, I want to add the word to the dictionary. Everything works like I would like and expect, except for it only adds the last word of each line to the dictionary. What am I missing?
import string file_name = 'oxford.txt' wordset = {} with open(file_name, 'r') as f: for line in f: sentence = line.strip() sentence = sentence.strip(string.punctuation) print(sentence) sentence = sentence.lower() word_list = sentence.strip() word_list = word_list.split(' ') for i in range(len(word_list)): word_list[i] = word_list[i].strip(string.punctuation) print(word_list) if word_list[i] in wordset: wordset[word_list[i]] += 1 else: wordset[word_list[i]] = 1 print(wordset) The output is: (I included only the first four lines) The Project Gutenberg EBook of Advice to a Young Man upon First Going to ['the', 'project', 'gutenberg', 'ebook', 'of', 'advice', 'to', 'a', 'young', 'man', 'upon', 'first', 'going', 'to'] {'to': 1} Oxford, by Edward Berens ['oxford', 'by', 'edward', 'berens'] {'to': 1, 'berens': 1} [''] {'to': 1, 'berens': 1, '': 1} This eBook is for the use of anyone anywhere at no cost and with ['this', 'ebook', 'is', 'for', 'the', 'use', 'of', 'anyone', 'anywhere', 'at', 'no', 'cost', 'and', 'with'] {'to': 1, 'berens': 1, '': 1, 'with': 1} Thank you as always. -- Roger Lea Scherer 623.255.7719 _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor