タイトル通り下記のようなコードでlistにlistを追加しています。
APIで受けたデータから必要な部分を抜粋してlistを作っているのですが、あると思っていたデータがない場合があったのでtry-exceptを使用すると'KeyError'を拾った回が飛ばされてしまいます。
当たり前と言えば当たり前なのですが、その要素に'none'という文字列か何か追加して、スキップせずにそのlistを完成させたいです。
python
1 try: 2 list.append( 3 [PPPPPP_result["AAAA"]["aaaa"], 4 PPPPPP_result["AAAA"]["bbbb"], 5 PPPPPP_result["AAAA"]["cccc"], 6 PPPPPP_result["BBBB"]["dddd"], 7 PPPPPP_result["CCCC"]["eeee"], 8 PPPPPP_result["FFFF"]["ffff"], 9 QQQQQ, 10 PPPPPP_result['AAAA']['GGGG']['X'], # ⑴ここが無いと言われます 11 PPPPPP_result['AAAA']['GGGG']['Y'], # ⑵たまにここも無いと言われます 12 PPPPPP_result['AAAA']['GGGG']['Z'] # ⑶最悪ここが無い場合もあります 13 ]) 14 except KeyError as e: 15 error_catch(e) #独自メソッド エラー内容とかを出力します 16 #ここでどんな処理をすればいいのか思いつきません 17 try: 18 list.append( 19 [PPPPPP_result["AAAA"]["aaaa"], 20 PPPPPP_result["AAAA"]["bbbb"], 21 PPPPPP_result["AAAA"]["cccc"], 22 PPPPPP_result["BBBB"]["dddd"], 23 PPPPPP_result["CCCC"]["eeee"], 24 PPPPPP_result["FFFF"]["ffff"], 25 QQQQQ, 26 'none', # こうしたとしても['Y']も無い場合もあるのでtry文を重ねるしかないですか??? 27 PPPPPP_result['AAAA']['GGGG']['Y'], # ここも無いと言われます 28 PPPPPP_result['AAAA']['GGGG']['Z'] 29 ]) 30 except KeyError as e: 31 error_catch(e) 32 try: 33 list.append( 34 [PPPPPP_result["AAAA"]["aaaa"],...
目標は下記のようなリストです
python
1list = [ [A,B,C,D,E,F,Q,'none','none',Z], ...] #このように'none'か何かを挿入して次に行きたいです
exceptのなかでtry-exceptを入れていけば動いていますが、全くもってスマートでは無いなと思っております。
ぜひスマート?な方法(短くする)を教えていただけないでしょうか。
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/15 00:37