[Tutor] count words

Ryan Davis ryan at acceleration.net
Tue Feb 15 17:51:57 CET 2005


You could use split() to split the contents of the file into a list of strings.

###
>>> x = 'asdf foo bar foo'
>>> x.split()
['asdf', 'foo', 'bar', 'foo']
###

Here's one way to iterate over that to get the counts.  I'm sure there are dozens.
###
>>> x = 'asdf foo bar foo'
>>> counts = {}
>>> for word in x.split():
...	counts[word] = x.count(word)
... 
>>> counts
{'foo': 2, 'bar': 1, 'asdf': 1}
###
The dictionary takes care of duplicates.  If you are using a really big file, it might pay to eliminate duplicates from the list
before running x.count(word)

Thanks,
Ryan 

-----Original Message-----
From: tutor-bounces at python.org [mailto:tutor-bounces at python.org] On Behalf Of Ron Nixon
Sent: Tuesday, February 15, 2005 11:22 AM
To: tutor at python.org
Subject: [Tutor] count words


I know that you can do this to get a count of home
many times a word appears in a file


f = open('text.txt').read()
print f.count('word')

Other than using a several print statments to look for
seperate words like this, is there a way to do it so
that I get a individual count of each word:

word1 xxx
word2 xxx
words xxx

etc.




		
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - Find what you need with new enhanced search.
http://info.mail.yahoo.com/mail_250
_______________________________________________
Tutor maillist  -  Tutor at python.org
http://mail.python.org/mailman/listinfo/tutor



More information about the Tutor mailing list