def dmap(fn, record):
values = (fn(v) for k, v in record.items())<EOL>return dict(itertools.izip(record, values))<EOL>
map for a directory

    :param fn: a function
    :param record: a dictionary
    :returns: a dictionary

    >>> grades = [{'math': 13, 'biology': 17, 'chemistry': 18},
    ... {'math': 15, 'biology': 12, 'chemistry': 13},
    ... {'math': 16, 'biology': 17, 'chemistry': 11}]

    >>> def is_greater_than(x):
    ...     def func(y):
    ...         return y > x
    ...     return func

    >>> dmap(is_greater_than(15), grades[0])
    {'biology': True, 'chemistry': True, 'math': False}