language: Python (python 2.7.3)
date: 562 days 4 hours ago
link:
visibility: private
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Foo:
    def __init__(self, name, data):
        self.name = str(name)
        self.data = list(data)
 
 
foo1 = Foo('abc', [1, 2, 3])
foo2 = Foo('def', [4, 5, 6])
foo3 = Foo('ghi', [7, 8, 9])
 
my_list = [foo1, foo2, foo3]
 
from itertools import chain
 
def test(name, data):
    data = frozenset(data)
    return name, list(chain.from_iterable(data & set(foo.data)
                                          for foo in my_list
                                          if foo.name == name))
                  
print test('def', [2, 3, 4, 5])