前提・実現したいこと
AWSのLambdaでpythonにて関数を作成したのですが、速度面を
若干改善したいと考えてfor文をリスト内包表記に書き替えたいのですが
どう記述していいか分かりません。
すいませんがご教示いただけますでしょうか。
該当のソースコード
get_table_valでDynamoDBからjson形式でデータを取得し、別のテーブルを
検索した値を追加してjsonで返すという様な処理をしています。
for以下をリスト内包表記に書き替えられないか考えておりますがうまくいきません。
python
1def get_fee(id1,id2,key1,key2,tablename,age): 2 try: 3 t4 = os.getenv('TABLE_NAME4') 4 result=[] 5 item_content = get_table_val(id1,id2,key1,key2,tablename) 6 if(len(item_content) is not 0): 7 for rs in item_content: 8 rfee=get_table_val(id2+age,0,key1,0,t4) 9 if(len(rfee) is not 0): 10 rs['month_insurance_fee']=rfee[0]['month_insurance_fee'] 11 rs['year_insurance_fee']=rfee[0]['year_insurance_fee'] 12 else: 13 rs['month_insurance_fee']='-' 14 rs['year_insurance_fee']='-' 15 result.append(rs) 16 return result 17 except Exception as e: 18 LOGGER.error(e) 19 raise e
試したこと
一応、for文を書き替えて、以下のコードでrsとrfee相当の値は取得できていますが
rfeeをrsに統合してリストに入れ込むところについてうまいアイデアが思いつきません。
python
1 rs = [ (i,get_table_val(id2+age,0,key1,0,t4)) for i in item_content]
なにかヒントになるようなことでも構わないのでご教示いただけますでしょうか。
補足情報(FW/ツールのバージョンなど)
AWS Lambda
python3.7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/27 02:10
2019/05/24 11:50