fork download
  1. class Foo:
  2. def __init__(self, name, data):
  3. self.name = str(name)
  4. self.data = list(data)
  5.  
  6.  
  7. foo1 = Foo('abc', [1, 2, 3])
  8. foo2 = Foo('def', [4, 5, 6])
  9. foo3 = Foo('ghi', [7, 8, 9])
  10.  
  11. my_list = [foo1, foo2, foo3]
  12.  
  13. from itertools import chain
  14.  
  15. def test(name, data):
  16. data = frozenset(data)
  17. return name, list(chain.from_iterable(data & set(foo.data)
  18. for foo in my_list
  19. if foo.name == name))
  20.  
  21. print test('def', [2, 3, 4, 5])
Success #stdin #stdout 0.01s 6400KB
stdin
Standard input is empty
stdout
('def', [4, 5])