counting how often the same word appears in a txt file...But my code only prints the last line entry in the txt file
Jussi Piitulainen
jpiitula at ling.helsinki.fi
Wed Dec 19 05:55:28 EST 2012
More information about the Python-list mailing list
Wed Dec 19 05:55:28 EST 2012
- Previous message (by thread): counting how often the same word appears in a txt file...But my code only prints the last line entry in the txt file
- Next message (by thread): counting how often the same word appears in a txt file...But my code only prints the last line entry in the txt file
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
dgcosgrave at gmail.com writes: > Hi Iam just starting out with python...My code below changes the txt > file into a list and add them to an empty dictionary and print how > often the word occurs, but it only seems to recognise and print the > last entry of the txt file. Any help would be great. > > tm =open('ask.txt', 'r') > dict = {} > for line in tm: > line = line.strip() > line = line.translate(None, '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~') > line = line.lower() > list = line.split(' ') > for word in list: > if word in dict: > count = dict[word] > count += 1 > dict[word] = count > else: > dict[word] = 1 > for word, count in dict.iteritems(): > print word + ":" + str(count) The "else" clause is mis-indented (rather, mis-unindented). Python's "for" statement does have an optional "else" clause. That's why you don't get a syntax error. The "else" clause is used after the loop finishes normally. That's why it catches the last word.
- Previous message (by thread): counting how often the same word appears in a txt file...But my code only prints the last line entry in the txt file
- Next message (by thread): counting how often the same word appears in a txt file...But my code only prints the last line entry in the txt file
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list