И еще один стиль кодегольфа:
>>> ['%s - %s'%(t[x],x) for x in sorted(t,key=t.get)[::-1]]
['2 - text3', '1 - text1', '0 - text2']
PS.чтобы проиллюстрировать точку зрения, высказанную Игнасио Васкесом-Абрамсом, обратите внимание, как результаты сортировки могут отличаться при наличии повторений значений:
>>> t={'txt1':1, 'txt2':0, 'txt3':1}
>>> ['%s - %s'%(t[x],x) for x in sorted(t,key=t.get)[::-1]]
['1 - txt3 ', '1 - txt1 ',' 0 - txt2 ']
>>> ['%s - %s'%(t[x],x) for x in sorted(t,key=t.get,reverse=True)]
[' 1 - txt1 ',' 1 - txt3 ','0 - txt2 ']