Я пытаюсь реализовать функцию JOIN для списка объектов. У меня есть список таких объектов:
class Item(object):
def __init__(self):
self.RegionId
self.ItemId
self.Price
Основываясь на этом списке, я бы хотел создать объединенный объект, который объединяет цены для двух данных регионов на основе ItemId. Объект результата должен выглядеть следующим образом:
class ItemInRegions(object):
def __init__(self):
self.ItemId
self.PriceInRegion1
self.PriceInRegion2
Я реализовал цикл FOR, но для выполнения каждого отдельного объекта в списке требуется очень много двух повторений.
Я уверен, что Python должен иметь быстрый и эффективный способ присоединиться к идентичным спискам объектов. Фактически я ищу решение Python, которое имитирует запрос INNER JOIN SQL:
SELECT i1.id, i1.Price,i2.Price
FROM ItemList i1
INNER JOIN ItemList i2 on i1.ItemId=i2.ItemId and i1.Region='Region1' and i2.Region='Region2'
где ItemList представляет список объектов Item
Я чувствую, что это больше проблема архитектуры.
Item
должен содержать Region
который также должен быть объектом. таким образом, вы можете получить цены на основе этого региона.