質問: こんにちは。この度は、ループ処理でリストを生み出し、それに名前をつけるというコードが書きたくて質問しました。 具体的にはこんな感じで書きたいです。 .... 任意に入力した数字をリストに格納し続けます。q1を入力すると格納は終わります。(ここまでは自力で書けています) qを押された後に、今のリストはリスト1と名づけられます。そしてさっきと同じように入力を求められ、...q1を押すと今のリストはリスト2と名づけられます。 このようなループで任意の数nまで、リストnが作られます。q2を入力すると、リストを作るループそのものが終了します。 .... 難儀なのは、ループのたびにリストの名前を変えるという点です。よろしくお願いします。
回答: 「名前の付いたリスト」は辞書型で表現するのが一般的な方法です。 リスト1, リスト2などの単純な連番であれば、辞書型の代わりにリストのリストを作っても良いですが、回答からは割愛します。 **サンプルコード:** ``` list = [] dict = {} while True: s = input() if s == "q1": key = "リスト{}".format(len(dict) + 1) dict[key] = list list = [] elif s == "q2": break else: list.append(int(s)) print(dict) ``` **出力例:** ("> "から始まる表記はキーボードによる入力を表す) ``` > 1 > 5 > q1 > 2 > 4 > 3 > q1 > q2 {'リスト1': [1, 5], 'リスト2': [2, 4, 3]} ```