У меня есть функция, которая получает и сравнивает данные 2 из 6 и более сайтов.После получения данных 2 сайтов я начинаю сортировать данные.Поскольку каждый сайт имеет разное форматирование, мне нужно отсортировать каждый из них по-разному.
И так как я сравниваю 2 из них, мне нужно отсортировать только 2 из них.Для этого мне нужно знать, какой сайт выбран первым, а какой вторым.И мой код ниже оценивает это с if и elif для каждого из сайтов .После добавления каждого веб-сайта в словарь я нашел решение написать по-другому операторы if и elif.
Мой вопрос: как я могу выполнить код сортировки только для соответствующих сайтов, не используя пары if и elif для каждого сайта??Есть ли питонический или программный способ сделать это?
Мой функционал:
def getpairs(xx,yy):
mydict = {1:"http://1stsite.com", 2:"http://2ndsite.com", ... , 6:"http://6thsite.com" }
with urllib.request.urlopen(mydict[xx]) as url:
dataone = json.loads(url.read().decode())
with urllib.request.urlopen(mydict[yy]) as url:
datatwo = json.loads(url.read().decode())
if xx == 1:
sorted1 = some code to sort 1st website data(dataone list)
dataxx = sorted1
elif yy == 1:
sorted1 =some code to sort 1st website data(datatwo list)
datayy = sorted1
if xx == 2:
...
...
...
if xx == 6:
sorted6 = some code to sort 6th website data(dataone list)
dataxx = sorted6
elif yy == 6:
sorted6 = some code to sort 6th website data(datatwo list)
datayy = sorted6
compared = set(dataxx).intersection(datayy)
return compared
Спасибо за ваше время