リスト内のアイテムが存在する場合、それを削除するにはどうすればよいですか?

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

フォームテキストフィールドから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 "Hello"、u "Cool"、u "Glam"] new_tag_list [u ""、u "Hello"、u "Cool"、u "Glam"]  

空の文字列を削除するにはどうすればよいですか?

リストに空の文字列がある場合:

 >>> s = [u ""、u "Hello"、u "Cool"、u "Glam"]>>> i = s.index( "")>>> del s [i]>>> s [u "Hello"、u "Cool"、u "Glam"]  

ただし、空の文字列がない場合:

 >> > s = [u "Hello"、u "Cool"、u "Glam"]>>> if s.index( ""):i = s.index( "")del s [i] else:print "new_tag_list has no empty string"  

しかし、これは次のようになります:

 トレースバック(最後の最後の呼び出し):ファイル "< pyshell#30>"、1行目< module> if new_tag_list.index( ""):ValueError:list.index(x):xがリストにない 

これが発生する理由とその回避方法