First you should define a function to get the Euclidian distance. One way would be to just convert the tuples to complex numbers and get their absolute difference.
>>> dist = lambda t1, t2: abs(complex(*t1) - complex(*t2))
Alternatively, you could define your own function. That might even be faster, since you do not really need to take the square root if you just want to find the value that has the minimum distance.
You can then use that function as a key function to the min builtin.
>>> l = [(0,0), (1,1), (2,3), (3,4), (4,5)]
>>> x = (3,0)
>>> min(l, key = lambda y: dist(y, x))
(1, 1)
If you want to get all the minimum values, you could store that value in a variable and use a list comprehension to get all values whose distance is equal to that value.
>>> m = min(dist(y, x) for y in l)
>>> [y for y in l if dist(x, y) == m]
[(1, 1)]
If you want a random value of those, use random.choice:
>>> random.choice(_)
(1, 1)
Note, however, that this approach will iterate the list twice, and also calculate the distance of each value twice -- once to find the (any) minimum value, and then again to compare each value to that minimum. If performance is very important, you should use @Kasramvd's appraoch.