¿Cómo eliminar ‘\ n’ del final de las cadenas dentro de una lista?

Tengo 2 cuerdas aquí:

line= ['ABDFDSFGSGA', '32\n'] line= ['NBMVA\n'] 

¿Cómo elimino \n del final de estas cadenas? He intentado rstrip() y strip() pero todavía no puedo eliminar el \n de la cadena. ¿Puedo tener ayuda para eliminarlo?

Debe acceder al elemento que desea eliminar de la lista:

 line= ['ABDFDSFGSGA', '32\n'] #We want to strip all elements in this list stripped_line = [s.rstrip() for s in line] 

Lo que podrías haber hecho mal, es simplemente llamar a la line[1].rstrip() . Esto no funcionará, ya que el método rstrip no funciona en el lugar , pero devuelve una nueva cadena que se elimina.

Ejemplo:

 >>> a = 'mystring\n' >>> a.rstrip() Out[22]: 'mystring' >>> a Out[23]: 'mystring\n' >>> b = a.rstrip() >>> b Out[25]: 'mystring' 

El tipo de línea es lista, por lo que no puede aplicar ninguno de los métodos de strip . Los métodos de tira son para cuerdas.

Allí es necesario iterar sobre la lista y aplicar el método rstrip() en cada cadena presente en esa lista.

 >>> line= ['ABDFDSFGSGA', '32\n'] >>> map(str.rstrip, line) ['ABDFDSFGSGA', '32'] 

Puede usar un .replace('\n','') pero tenga en cuenta que esto eliminará todas las instancias de \n Si desea hacer esto para la lista completa, simplemente puede hacer:

 line = [i.replace('\n','') for i in line]