Tengo una secuencia de comandos en la que estoy extrayendo valor para cada usuario y agregando eso en una lista, pero obtengo el objeto “Ninguno tipo” no tiene ningún atributo “anexar”. Mi codigo es como
last_list=[] if p.last_name==None or p.last_name=="": pass last_list=last_list.append(p.last_name) print last_list
Quiero añadir el apellido en la lista. Si no es así, entonces no lo agregue en la lista. Por favor, ayuda. Nota: p es el objeto que estoy usando para obtener información de mi módulo, que tiene todos los nombres primero, último nombre, edad, etc. … Sugiera … Gracias de antemano
Cuando haces pan_list.append(p.last)
estás haciendo una operación in situ, es una operación que modifica el objeto y no devuelve nada (es decir, None
).
Deberías hacer algo como esto:
last_list=[] if p.last_name==None or p.last_name=="": pass last_list.append(p.last) # Here I modify the last_list, no affectation print last_list
la lista es mutable
Cambio
last_list=last_list.append(p.last_name)
a
last_list.append(p.last_name)
trabajará
Creo que lo que quieres es esto:
last_list=[] if p.last_name != None and p.last_name != "": last_list.append(p.last_name) print last_list
Su statement if actual:
if p.last_name == None or p.last_name == "": pass
Efectivamente nunca hace nada. Si p.last_name es none o la cadena vacía, no hace nada dentro del bucle. Si p.last_name es otra cosa, el cuerpo de la sentencia if se omite.
Además, parece que su statement pan_list.append(p.last)
es un error tipográfico, porque no veo que pan_list ni p.last se usen en ningún otro lugar en el código que ha publicado.