2017-10-16 6 views
-2

Je suis un débutant Python. J'essaie de renvoyer une liste d'une liste de listes dans une nouvelle liste de listes. J'ai regardé attentivement des questions similaires, mais je ne trouve pas la réponse.Liste de retour Python dans la liste des listes lorsque la variable est dans la liste

l1 = [['a','b','c','d'],['b','c','d','f'],['b','c','a','f']] 

Je voudrais faire une boucle sur l1 pour vérifier si « a » est dans une liste, et lorsqu'il est vrai, puis ajouter cette liste à une nouvelle liste de listes l2. Je suis loin (pas très loin):

l2 = [] 
for selector in l1: 
    if 'a' in selector: 
     l2.append(*#I don't know this part*) 

Ce que je voudrais est ce résultat:

l2 = [['a','b','c','d'],['b','c','a','f']] 

Toute aide serait grandement appréciée.

+0

' result.append (sélecteur) '? – CristiFati

Répondre

0

Vous pouvez utiliser une compréhension de la liste pour itérer sur les listes internes

>>> [sub for sub in l1 if 'a' in sub] 
[['a', 'b', 'c', 'd'], ['b', 'c', 'a', 'f']] 

Pour compléter l'extrait de code que vous avez montré ci-dessus, la façon dont vous utiliseriez une boucle for est

l2 = [] 
for selector in l1: 
    if 'a' in selector: 
     l2.append(selector) 

>>> l2 
[['a', 'b', 'c', 'd'], ['b', 'c', 'a', 'f']] 
+0

Wow, merci, ça résout! Juste un mot d'y arriver moi-même je vois. Légèrement embarrassé – MartijnP