Here is quick example of using translation dictionary with list comprehension:

    Python 2.7.3 (default, Aug  9 2012, 17:23:57) 
    [GCC 4.7.1 20120720 (Red Hat 4.7.1-5)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> dict_one = {1:'oh no!', 2:'key', 3:'clash'}
    >>> dict_two = {1:"foo", 2:"bar", 3:'baz'}
    >>> translate = {1:'one', 2:'two', 3:'three'}
    >>> print dict_two
    {1: 'foo', 2: 'bar', 3: 'baz'}
    >>> dict_two.update(dict_one)
    >>> print dict_two
    {1: 'oh no!', 2: 'key', 3: 'clash'}
    >>> dict_two = {1:"foo", 2:"bar", 3:'baz'}
    >>> dict_two.update([(translate[key], value) for  (key, value) in dict_one.items()])
    >>> print dict_two
    {1: 'foo', 2: 'bar', 3: 'baz', 'three': 'clash', 'two': 'key', 'one': 'no no!'}
    >>> 

You could use this technique to make one dictionary from multiple <code>(key, value)</code> items returned by <code>element.items()</code> on different elements (i.e. so key names do not clash).  Just an idea, maybe it is not necessary.