2017-08-19 2 views
0

J'ai actuellement une listeAttributeError lors du remplissage liste vide avec des chaînes

outcomes = [('A','B','C','A.B','A.C','B.C','A.B.C')] 

et je suis en train de boucler sur elle. Si l'un des "noms" dans la liste contient un A, alors je veux créer une autre liste appelée column_names avec ce nom. Par exemple, si je cherche Comme, ma liste retour serait:

column_names = ['A','A.B','A.C',A.B.C'] 

J'ai le code suivant:

column_names = [] 
for name in outcomes: 
    if 'A' in name: 
     column_names = column_names.append(name) 

mais il retourne:

AttributeError: 'NoneType' object has no attribute 'append' 

J'ai vérifié et les deux column_names et les résultats sont des listes, donc je ne comprends pas pourquoi.

+0

append ne retourne pas une nouvelle liste: il modifie la liste en place. – ayhan

Répondre

0
my_list=list() 
for i in outcomes: 
    for j in i: 
     if j.count('A') == 1: 
      my_list.append(j) 

sortie:

['A', 'A.B', 'A.C', 'A.B.C'] 

dans votre code vous utilisé column_names = column_names.append(name) vous devez utiliser à la place column_names.append(name)