On 2015-08-12 04:05, Ltc Hotspot wrote:
Chris,

Check the code and the visualize execution of the code, available at
http://tinyurl.com/p8tgd5h

message reads: NameError: name 'collections' is not defined

You didn't import the module.


Regards,
Hal

On Tue, Aug 11, 2015 at 5:49 PM, Chris Angelico <ros...@gmail.com
<mailto:ros...@gmail.com>> wrote:

    On Wed, Aug 12, 2015 at 10:43 AM, Ltc Hotspot <ltc.hots...@gmail.com
    <mailto:ltc.hots...@gmail.com>> wrote:
    > Python can pull the hour from the 'From ' line by finding the time and 
then
    > splitting the string a second time using a colon, i.e., From
    >stephen.marqu...@uct.ac.za <mailto:stephen.marqu...@uct.ac.za> Sat
    Jan  5 09:14:16 2008
    >
    > Finally, accumulated the counts for each hour, print out the counts, 
sorted
    > by hour as shown below:

    In that case, you want to sort the entire collection, not a single
    key-value pair.

    It seems to me you can do this fairly efficiently with
    collections.Counter.

    import collections
    with open(raw_input("Enter file name: ")) as f:
         counts = collections.Counter(line.split()[5].rstrip() for line in
    f if line.startswith("From "))

    counts = counts.items()
    counts.sort()
    for hour, count in counts:
         print hour, count

    The most important part is getting items() and then sorting the
    whole thing.


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to