Я работаю с amazon boto и у меня есть 2 списка. Список 1 содержит объекты экземпляра. Список 2 содержит объекты InstanceInfo. Оба объекта имеют атрибут с именем id. Мне нужно получить список объектов Instance, идентификатор которых существует в списке InstanceInfo.
l1 = [Instance:i-04072534, Instance:i-06072536, Instance:i-08072538, Instance:i-0a07253a, Instance:i-e68fa1d6, Instance:i-e88fa1d8, Instance:i-ea8fa1da, Instance:i-ec8fa1dc]
l2 = [InstanceInfo:i-ec8fa1dc, InstanceInfo:i-ea8fa1da, InstanceInfo:i-e88fa1d8, InstanceInfo:i-e68fa1d6]
Требуемый результат:
l3 = [Instance:i-ec8fa1dc, Instance:i-ea8fa1da, Instance:i-e88fa1d8, Instance:i-e68fa1d6]
Прямо сейчас у меня все работает:
l3= []
for a in l1
for b in l2:
if a.id == b.id:
l3.append(a)
Однако мне сказали, что я должен заменить это, используя пересечение множеств. Я смотрел на примеры, и это выглядит очень просто. Пока я не вижу примеров работы с объектами.
Я немного поигрался и теоретически могу видеть, как это работает, но может быть какой-то «расширенный» синтаксис, который я, возможно, не знаю. Я все еще изучаю Python.