rstrip python3 español python list strip

python3 - Pele todos los elementos de una lista de cuerdas



strip python 3 español (5)

Esto puede hacerse usando listas de comprensión como se define en PEP 202

[w.strip() for w in [''this/n'', ''is/n'', ''a/n'', ''list/n'', ''of/n'', ''words/n'']]

Tengo que tomar una gran lista de palabras en el formulario:

[''this/n'', ''is/n'', ''a/n'', ''list/n'', ''of/n'', ''words/n'']

y luego usando la función strip, conviértalo en:

[''this'', ''is'', ''a'', ''list'', ''of'', ''words'']

Pensé que lo que había escrito funcionaría, pero sigo recibiendo un error que dice:

El objeto ''list'' no tiene ningún atributo ''strip'' "

Aquí está el código que probé:

strip_list = [] for lengths in range(1,20): strip_list.append(0) #longest word in the text file is 20 characters long for a in lines: strip_list.append(lines[a].strip())


Puedes usar listas de comprensión :

strip_list = [item.strip() for item in lines]

O la función de map :

# with a lambda strip_list = map(lambda it: it.strip(), lines) # without a lambda strip_list = map(str.strip, lines)


Todas las otras respuestas, y principalmente sobre la comprensión de la lista, son geniales. Pero solo para explicar tu error:

strip_list = [] for lengths in range(1,20): strip_list.append(0) #longest word in the text file is 20 characters long for a in lines: strip_list.append(lines[a].strip())

a es un miembro de su lista, no un índice. Lo que podrías escribir es esto:

[...] for a in lines: strip_list.append(a.strip())

Otro comentario importante: puedes crear una lista vacía de esta manera:

strip_list = [0] * 20

Pero esto no es tan útil, ya que .append agrega cosas a su lista. En su caso, no es útil crear una lista con valores predeterminados, ya que la compilará elemento por artículo al agregar cadenas despojadas.

Entonces tu código debería ser como:

strip_list = [] for a in lines: strip_list.append(a.strip())

Pero, seguro, el mejor es este, ya que es exactamente lo mismo:

stripped = [line.strip() for line in lines]

En caso de que tenga algo más complicado que solo una .strip , ponga esto en una función, y haga lo mismo. Esa es la forma más legible de trabajar con listas.


lista de comprensión? [x.strip() for x in lst]


>>> my_list = [''this/n'', ''is/n'', ''a/n'', ''list/n'', ''of/n'', ''words/n''] >>> map(str.strip, my_list) [''this'', ''is'', ''a'', ''list'', ''of'', ''words'']