Al eliminar un elemento de la lista, la lista se convierte en no escrita

Me imagino que hay una solución simple que estoy pasando por alto. Mejor eso que complicado, ¿verdad?

Simplemente pon:

var = ['p', 's', 'c', 'x', 'd'].remove('d') 

hace que var sea ​​de tipo None . ¿Que esta pasando aqui?

remove no devuelve nada. Modifica la lista existente en el lugar. No se necesita asignación.

Reemplazar

 var = ['p', 's', 'c', 'x', 'd'].remove('d') 

con

 var = ['p', 's', 'c', 'x', 'd'] var.remove('d') 

Ahora var tendrá un valor de ['p', 's', 'c', 'x'] .

remove muda la lista en el lugar y devuelve None . Tienes que ponerlo en una variable, y luego cambiar eso:

 >>> var = ['p', 's', 'c', 'x', 'd'] >>> var.remove('d') # Notice how it doesn't return anything. >>> var ['p', 's', 'c', 'x']