Как удалить элемент в списке, если он существует?

| | | | | | | | | | | | | | | | | |

Я получаю new_tag из текстового поля формы с помощью self.response.get("new_tag") и selected_tags из полей флажков с

self.response.get_all("selected_tags") 

Я комбинирую их следующим образом:

tag_string = new_tag new_tag_list = f1.striplist(tag_string.split(";") + selected_tags) 

(f1.striplist — это функция, удаляющая пробелы внутри строк в список.)

Но если tag_list пуст (новые теги не введены), но есть несколько selected_tags, new_tag_list содержит пустую строку " ".

Например, из logging.info:

 new_tag selected_tags[u"Привет", u"Круто", u"Гламурно"] new_tag_list[u"", u"Привет", u"Круто", u"Гламурно"] 

Как избавиться от пустой строки?

Если в списке есть пустая строка:

>>> s = [u"", u"Привет", u"Круто", u"Гламур"] >>> i = s.index("") >>> дель s[i] >>> s [u"Hello", u"Cool", u"Glam"] 

Но если нет пустой строки:

>> > s = [u"Привет", u"Круто", u"Гламур"] >>> if s.index(""): i = s.index("") del s[i] else: print "new_tag_list не имеет пустой строки" 

Но это дает:

Traceback (последний последний вызов): файл "<pyshell#30>", строка 1, в <module> if new_tag_list.index(""): ValueError: list.index(x): x не в списке 

Почему это происходит и как это обойти?