pythondictionarytuples

python swapped tuple to dict


For the tuple, t = ((1, 'a'),(2, 'b')) dict(t) returns {1: 'a', 2: 'b'}

Is there a good way to get {'a': 1, 'b': 2} (keys and vals swapped)?

Ultimately, I want to be able to return 1 given 'a' or 2 given 'b', perhaps converting to a dict is not the best way.


Solution

  • Try:

    >>> t = ((1, 'a'),(2, 'b'))
    >>> dict((y, x) for x, y in t)
    {'a': 1, 'b': 2}