Obtengo new_tag
de un campo de texto de formulario con self.response.get("new_tag")
y selected_tags
de campos de casilla de verificación con
self.response.get_all("selected_tags")
Los combino así:
tag_string = new_tag new_tag_list = f1.striplist(tag_string.split(";") + selected_tags)
(f1.striplist
es una función que elimina los espacios en blanco dentro de las cadenas en la lista.)
Pero en el caso de que tag_list
esté vacío (no se ingresan nuevas etiquetas) pero hay algunas selected_tags
, new_tag_list
contiene una cadena vacía " "
.
Por ejemplo, de logging.info
:
nueva_etiqueta etiquetas_seleccionadas[u"Hola", u"Genial", u"Glam"] nueva_etiqueta_lista[u"", u"Hola", u"Genial", u"Glam"]
¿Cómo me deshago de la cadena vacía?
Si hay una cadena vacía en la lista:
>>> s = [u"", u"Hola", u"Genial", u"Glam"] >>> i = s.index("") >>> del s[i] >>> s [u"Hola", u"Genial", u"Glam"]
Pero si no hay una cadena vacía:
>> > s = [u"Hola", u"Genial", u"Glam"] >>> if s.index(""): i = s.index("") del s[i] else: print "new_tag_list no tiene una cadena vacía"
Pero esto da:
Rastreo (última llamada más reciente): archivo "<pyshell#30>", línea 1, en <módulo> if new_tag_list.index(""): ValueError: list.index(x): x no está en la lista
¿Por qué sucede esto y cómo puedo solucionarlo?