# -*- Mode: Python -*-


sets = [
    {0:0, 1:0, 2:0},
    {1:0, 5:0, 7:0},
    {7:0, 1:0, 0:0},
    ]

def intersection (sets):
    sets.sort (lambda a,b:cmp(len(a),len(b)))
    set_a = sets[0].copy()
    for set_b in sets[1:]:
        for key in set_a.keys():
            if not set_b.has_key (key):
                del set_a[key]
    return set_a
