Вы получаете эту ошибку, потому что top_rest пуст, когда вы пытаетесь получить первый его элемент "top_rest [0]" . Причина в том, что первый класс, на который вы пытаетесь сослаться, имеет динамическое имя. Вы заметите, что если вы обновите sh страницу, то же местоположение этого div не будет называться так же. Поэтому, когда вы пытаетесь очистить, вы получаете пустые результаты.
Альтернативой может быть очистка ВСЕХ div, а затем сужение нужных элементов, помните о динамической c схеме именования div, поэтому из одного запроса к другому вы получите другие результаты:
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}
response = requests.get("https://www.zomato.com/bangalore/top-restaurants",headers=headers)
content = response.content
soup = BeautifulSoup(content,"html.parser")
top_rest = soup.find_all("div")
list_tr = top_rest[0].find_all("div",attrs={"class": "bke1zw-1 eMsYsc"})
list_tr