これを行う1つの方法は次のとおりです。
In [101]: d = {"one":1, "two":2, "a":1}
In [102]: answer = collections.defaultdict(list)
In [103]: for k,v in d.iteritems():
.....: answer[v].append(k)
.....:
In [104]: answer
Out[104]: defaultdict(<type 'list'>, {1: ['a', 'one'], 2: ['two']})
In [105]: dict(answer)
Out[105]: {1: ['a', 'one'], 2: ['two']}
In [106]: dict((k, tuple(v)) for k,v in answer.iteritems())
Out[106]: {1: ('a', 'one'), 2: ('two',)}
あなたが本当にワンライナーが欲しいなら(私はこれに対して強くお勧めします-それは非常に非効率的です):
In [110]: d
Out[110]: {'a': 1, 'one': 1, 'two': 2}
In [111]: dict((v, tuple([key for key in d if d[key]==v])) for k,v in d.iteritems())
Out[111]: {1: ('a', 'one'), 2: ('two',)}
お役に立てれば