IIU C, вы можете попробовать это:
quotes = []
table = table.find('ul', attrs={'class': 'sub-menu'})
for row in table.find_all('li'):
quote = {}
quote[row.attrs['class'][0]] = row.a['href']
quotes.append(quote)
#Same as: (list comprehension version)
#table = table.find('ul', attrs={'class': 'sub-menu'})
#quotes=[{row.attrs['class'][0]:row.a['href']} for row in table.find_all('li')]
Вывод:
quotes
[{'menu-item-362992': 'https://www.test.com/'}, {'menu-item-362994': 'https://www.test2.com/'}, {'menu-item-362995': 'https://www.test3.com/'}]
Или, если вам нужны отдельные списки:
table = table.find('ul', attrs={'class': 'sub-menu'})
quotes=[{'url':row.a['href']} for row in table.find_all('li')]
ilclassnames=[row.attrs['class'][0] for row in table.find_all('li')]
Вывод:
quotes
[{'url': 'https://www.test.com/'}, {'url': 'https://www.test2.com/'}, {'url': 'https://www.test3.com/'}]
ilclassnames
['menu-item-362992', 'menu-item-362994', 'menu-item-362995']