Самое простое
1. Отсортировать по возрастанию
2. Перебрать циклом сравнение и остановиться, когда будет найдено первое бОльшее число, и взять предыдущее (и нужна проверка, чтобы не сработало на нулевом элементе)
x = [2**0, 2**1, 2**2, 2**3, 2**4, 2**5, 2**6, 2**7, 2**8, 2**9, 2**10]
for i in range (0,len(x)):
if x[i]>y:
print (x[i-1],y)
break