python2.7 リスト内の辞書から特定の要素を他の辞書型変数に代入したい
解決済
回答 1
投稿
- 評価
- クリップ 0
- VIEW 1,023
import json
lists = []
for n in range(10):
lists.append({'a':'a{0}'.format(n)})
lists.append({'b':'b{0}'.format(n)})
lists.append({'c':'b{0}'.format(n)})
jsons = json.dumps(list, indent=2, ensure_ascii=False)
print jsons
[
{
"a": "a0"
},
{
"b": "b0"
},
{
"c": "b0"
},
{
"a": "a1"
},
{
"b": "b1"
},
{
"c": "b1"
},
{
"a": "a2"
},
{
"b": "b2"
},
{
"c": "b2"
},
{
"a": "a3"
},
{
"b": "b3"
},
{
"c": "b3"
},
{
"a": "a4"
},
{
"b": "b4"
},
{
"c": "b4"
},
{
"a": "a5"
},
{
"b": "b5"
},
{
"c": "b5"
},
{
"a": "a6"
},
{
"b": "b6"
},
{
"c": "b6"
},
{
"a": "a7"
},
{
"b": "b7"
},
{
"c": "b7"
},
{
"a": "a8"
},
{
"b": "b8"
},
{
"c": "b8"
},
{
"a": "a9"
},
{
"b": "b9"
},
{
"c": "b9"
}
]
alphaの中身(以下のJSONをこれから作りたい。そのために今回の質問しました。)
Alpha: {
"alpha-A0": [ # ← -Aの数字はループ数。
{
"a": "a0"
},
{
"b": "b0"
},
{
"c": "b0"
}
],
・
・
・
"alpha-A9": [ # -A9というのは10回目のループ。
{
"a": "a9"
},
{
"b": "b9"
},
{
"c": "b9"
}
]
上記listsから1回目のループの時は、
key alpha-A0に対して、lists内の
{
"a": "a0"
},
{
"b": "b0"
},
{
"c": "b0"
}
を代入し、最終的に次の形のJSONを作りたいです。
key alpha-A9に対してだと、
{
"a": "a9"
},
{
"b": "b9"
},
{
"c": "b9"
}
を代入したいです。
ループ1回毎に辞書Alphaのkey aplha-A[ループした回数の数値]が入ります。
listsはリストの中に辞書が入っている構造であり、
どうすればlists(リスト内の辞書)から特定の要素を他の辞書型変数に代入
できますでしょうか?
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
0
alpha を次の様にして作成できます。
import json
lists = []
for n in range(10):
lists.append({'a':'a{0}'.format(n)})
lists.append({'b':'b{0}'.format(n)})
lists.append({'c':'b{0}'.format(n)})
# jsons = json.dumps(lists, indent = 2, ensure_ascii = False)
# print(jsons)
alpha = {}
for n in range(10):
key = "alpha-A{0}".format(n)
alpha[key] = []
for m in range(3):
alpha[key].append(lists[3 * n + m])
jsons = json.dumps(alpha, indent = 2, ensure_ascii = False)
print(jsons)
実行例:
$ python3 1.py
"alpha-A9": [
{
"a": "a9"
},
{
"b": "b9"
},
{
"c": "b9"
}
],
... 省略 ...
"alpha-A1": [
{
"a": "a1"
},
{
"b": "b1"
},
{
"c": "b1"
}
]
}
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
2015/09/21 23:03