私はいくつかのチェックボックスを持つhtmlページを作っています。チェックボックスの各値は、疑問符記号で区切られた2つの数字、すなわち「1〜16」である。iterableがPythonの文字列かリストかどうかを調べる
<input class="checkbox1" type="checkbox" name ="nr_ids" id="checkbox_id" value ="1?16">Name1,16</label> <br>
<input class="checkbox1" type="checkbox" name ="nr_ids" id="checkbox_id" value ="11?4">Name11,4</label> <br>
は、それから私は、PythonのCGIを使用してこの情報を読み込む:あなたはそれらの両方を選択した場合
NRs = form.getvalue("nr_ids")
NRids = []
for l in NRs:
ls = l.split("?")
NRids.append(ls)
のNRは[?、'11 4' '?1 16']になります。あなたが1つだけを選択すると、それは '2?14'になります
数字の各ペアがサブローであるリストのリストです:[['1'、 '16']、['11' 、 '4']]。 2つ以上のチェックボックスを選択すると、これは完璧に機能します。しかし、私はちょうど1を選択すると、プログラムがクラッシュします。 NRidsは[['1'、['、']、['1']、['6']]になります。 NRのタイプを取ろうとすると、何も印刷されません。文字列やリストが渡されたかどうかを自動的にチェックする方法がわからないので、関数を入力しても何も印刷されていないようです。
どのように私は、唯一のチェックボックスは、それがない場合、私は、リストのようなのNRを扱うことはありませんので、選択されているかどうかを確認してくださいだろうか?または、誰かが私がこれをどのように修正できるかについての他の提案がありますか?
の可能性の重複は、[?pythonで種類をチェックするための標準的な方法は何ですか](のhttp://のstackoverflow。 com/questions/152580/whats-the-canonical-way-to-check-for-in-python) – alexis