対象の元データは番号とその番号に紐づいたレスポンスのタプルでできたリストです
python
1[(1, <Response [200]>), 2 (1, <Response [200]>), 3 (2, <Response [200]>), 4 (3, <Response [200]>),]
この中身を {1: [<Response [200]>の中身]}にしたいです。
期待する結果
python
1{1: [A, B], 2 2: [c], 3 3: [d], 4}
試してみたコード
python
1data = { f"{r[0][0]}": [d['value']] 2 for r in rs 3 if r[1].status_code == 200 4 for d in r[1].json() 5}
得られる結果
python
1{1: [A], 2 2: [c], 3 3: [d], 4}
下記のようにしても上書きされてしまい期待の結果が得られませんでした。
どのようにしたら上書きされず
python
1data = {} 2{ data[f"{r[0][0]}"].extend(d['value']) if f"{r[0][0]}" in EXCELdata.keys() else f"{r[0][0]}": d['value'] 3 for r in rs 4 if r[1].status_code == 200 5 for d in r[1].json() 6}
最終的に次のコードでできました
python
1#[(r[0][0], [data for r in rs if r[0][0] == i]) for i in set([r[0][0] for r in rs]) for data in r[1].json()] 2{r[0][4]: [data['value'] for r in rs if r[1].status_code == 200 for data in r[1].json() if r[0][0] == i] 3 for r in rs 4 for i in set([r[0][4] for r in rs]) 5 if r[0][0] == i}
回答1件
あなたの回答
tips
プレビュー