2010-05-05 4 views
0

Est-il possible de remplacer ce qui suit par une liste de compréhension?Liste de compréhension de plusieurs sources en Python?

res = [] 
for a, _, c in myList: 
    for i in c: 
     res.append((a, i)) 

Par exemple:

# Input 
myList = [("Foo", None, [1, 2, 3]), ("Bar", None, ["i", "j"])] 

# Output 
res = [("Foo", 1), ("Foo", 2), ("Foo", 3), ("Bar", "i"), ("Bar", "j")] 

Répondre

7
>>> [(i, j) for i, _, k in myList for j in k] 
[('Foo', 1), ('Foo', 2), ('Foo', 3), ('Bar', 'i'), ('Bar', 'j')] 
Questions connexes