'''
Created on Nov 2, 2014

@author: rodger
'''
# dictionary of schools and how many students at an event
# are from each school

d = {'duke':30, 'unc':50, 'ncsu':40}

print "d.values()", d.values()
print "d.keys()", d.keys()
d['duke'] = 80
d.update({'ecu':40, 'uncc':70})
print "d.values()", d.values()

# what is the difference between these 3?

print "d.items()", d.items()
print "d.iteritems()", d.iteritems()
print "d", d

# problem - using the dictionary from above, write Python code 
# to determine how many schools have more than 40 attendees?

count = 0

print "Number of schools with more than 40 attendees is ", count


# problem - Using the dictionary from above, write python code to determine 
# which schools have more than 40 attendees - give a list

schools = []


print "Number of schools with more than 40 attendees is ", schools  


# problem -  Create a new dictionary mapping attendance numbers to list of schools
# with that attendance number
d = {'duke':30, 'unc':50, 'ncsu':40, 'wfu':50, 'ecu': 80, 'meridith':30, 'clemson':80, 'gatech':50, 'uva':120, 'vtech':110} 

print "d is", d
d2 = {}  # inverted dictionary mapping numbers to list of schools
for (school,num) in d.iteritems():
    if num not in d2:
        d2[num] = [school]
    else: # already created the list
        d2[num].append(school)


print "inverted dictionary"
print d2



# problem create a new dictionary mapping groups of 50 attendees 0-49, 50-99, etc
d3 = {}
for (school, num) in d.iteritems():
    newnum = num/40
    if newnum not in d3:
        d3[newnum] = [school]
    else: 
        d3[newnum].append(school)


print d3
