質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

318閲覧

Pythonの辞書名をfor構文で作りたい時

LanternRains

総合スコア2

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/09/19 11:55

辞書名をfor構文で回して、複数の辞書を一度に作りたいと思ったのですが、うまくいきません

aaa = ["AAA", "BBB", "CCC"]
for i in aaa:
print(i)
i = {}
print(AAA)
print(BBB)
print(CCC)


AAA
BBB
CCC
{}

NameError Traceback (most recent call last)
<ipython-input-55-3cfa25c3ca13> in <module>
4 i = {}
5 print(AAA)
----> 6 print(BBB)

NameError: name 'BBB' is not defined

何故でしょうか、教えていただけますと有難いです。
また、一度に辞書名を変えて、複数の辞書を作る方法はないものでしょうか。
結構に探したのですが、全然わかりません。。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

何故でしょうか、教えていただけますと有難いです。

変数名iと変数の中身"AAA"は別物だからです。

一度に辞書名を変えて、複数の辞書を作る方法はないものでしょうか。

「変数名をプログラムで作り出したい」と思ったときには、そもそもその発想が間違っていますので、一歩戻って考え直しましょう。

おそらくは辞書を使うという解決方法でしょう。

参考:

Python

1aaa = ["AAA", "BBB", "CCC"] 2 3data = {} 4 5for i in aaa: 6 data[i] = {} 7 8print( data["AAA"] )

投稿2020/09/19 13:17

otn

総合スコア84557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LanternRains

2020/09/19 13:45

有り難うございます。無事にできました。 ただ、「変数名をプログラムで作り出したい」というところがすんなりと分かりませんでした。 辞書名も変数名に当たるという事でしょうか?かなりこんがらがっています。 申し訳ないですが、もし教えていただけましたら、誠に有り難く存じます。
otn

2020/09/20 00:22

AAA = {} としたいのであれば、AAA が変数名です。
LanternRains

2020/09/23 08:53 編集

確認遅くなりました。 辞書名も変数という事なのですね、理解できました。ご回答くださり、誠に有り難うございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問