I find this interesting, another solution would be for locals() to take arguments:

dict(tel='1337-1337', **locals('name', 'surname'))