フォームテキストフィールドから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がリストにない
これが発生する理由とその回避方法