現状のdict形式をネストした状態と固定値を追加した状態に変更したいです。
下記の状態の辞書(dict)があります。
※Idやtextの、値が変動いたします。また、Idがない場合やtextがない場合があります。
{"Id": 4444, "text": "string"}
{ "Id": 4444, "text": "string" }
下記へ変更したいです。
{"variables": {"Id": {"value": "4444","type": "Integer"},"text": {"value": "string","type": "String"}}}
固定値:variables/value/type
{ "variables": { "Id": { "value": "4444", "type": "Integer" }, "text": { "value": "あああ", "type": "String" } } }
参考URL
Pythonでネストされたdictをどのように作成しますか?
ネストした辞書の初期化・更新・一覧・JSON保存をまとめておく/Python3(備忘)
isdigit()で落ちるコード
Python
1data = {} 2# {'Id': {'value': '4444', 'type': 'Integer'}}の形を作る 3for k,v in camel_data.items(): 4 data[k] = {} 5 data[k]['value'] = v 6 # 数値化文字列かの判定 7 if v.isdigit(): 8 data[k]['type'] = 'Integer' 9 else: 10 data[k]['type'] = 'String' 11 # variablesで囲む 12 v = {} 13 v['variables'] = {} 14 v['variables'] = data
備考
{'Id': {'value': '4444', 'type': 'Integer'}}
を直接作成する方法・・・
Python
1d = {} 2d['Id'] = {} 3d['Id']['value'] = '4444' 4d['Id']['type'] = 'Integer' 5 6# 結果 7{'Id': {'value': '4444', 'type': 'Integer'}}
やり方がわからず混乱してしまっていて困っています。。
回答3件
あなたの回答
tips
プレビュー