辞書型の配列のネストができないかやってみたんですが、
以下のコードで作ることはできたのですが、キーと値を取り出せませんでした。
具体的は最後のprint文で
dict_values([<zip object at 0x00000285C744B248>, ・・・
と出力されて、zipオブジェクトからキーと値を取り出すことができません。
どうやったら値を取り出せるでしょうか?
※以下の“コード:”は掛け算の2x2から9x9までのネストされた辞書型の配列を生成させるために書きました。汚いコードで申し訳ありません。
for文以下、空行までインデントがあると考えてください。for文が続いてる箇所はネストされます。そして続く空行でインデントがすべて解除されます。
変数の値を確認するためにprint文を入れています。
コメントで指摘いただいたとおり、コード部分を修正しました。
“出力:”では実行結果をコピペしました。
よろしくお願いします。
コード:
prime_key = [] tmp_sec_key = [] pair = [] tmp_value = [] tmp = [] order_list = {} prime_key[:] = list(range(2, 10)) for i in prime_key: tmp_sec_key.append(list(prime_key)) for j in prime_key: tmp.append(i * j) n = 0 m = len(prime_key) for i in prime_key: tmp_value.append(tmp[n:m]) n += len(prime_key) m += len(prime_key) n = 0 for i in tmp_sec_key: tmp_list = {} tmp_list = zip(tmp_sec_key[n], tmp_value[n]) print(dict(tmp_list)) pair.append(tmp_list) n += 1 print("*printed list of dict, 'pair' values.\n") for i in prime_key: order_list.update({i: pair[i -2]}) print(dict(order_list)) print("*printed keys & values of dict 'order_list'.\n") print(order_list.values()) print("*wish, but can't print keys & values of dict 'order_list.values()'.")
出力:
{2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}
{2: 6, 3: 9, 4: 12, 5: 15, 6: 18, 7: 21, 8: 24, 9: 27}
{2: 8, 3: 12, 4: 16, 5: 20, 6: 24, 7: 28, 8: 32, 9: 36}
{2: 10, 3: 15, 4: 20, 5: 25, 6: 30, 7: 35, 8: 40, 9: 45}
{2: 12, 3: 18, 4: 24, 5: 30, 6: 36, 7: 42, 8: 48, 9: 54}
{2: 14, 3: 21, 4: 28, 5: 35, 6: 42, 7: 49, 8: 56, 9: 63}
{2: 16, 3: 24, 4: 32, 5: 40, 6: 48, 7: 56, 8: 64, 9: 72}
{2: 18, 3: 27, 4: 36, 5: 45, 6: 54, 7: 63, 8: 72, 9: 81}
*printed values of list 'pair'.
{2: <zip object at 0x00000285C744B248>, 3: <zip object at 0x00000285C7446DC8>, 4: <zip object at 0x00000285C7446F48>, 5: <zip object at 0x00000285C7446F08>, 6: <zip object at 0x00000285C7446C08>, 7: <zip object at 0x00000285C7446E48>, 8: <zip object at 0x00000285C7488748>, 9: <zip object at 0x00000285C7488708>}
*printed keys & values of dict 'order_list'.
dict_values([<zip object at 0x00000285C744B248>, <zip object at 0x00000285C7446DC8>, <zip object at 0x00000285C7446F48>, <zip object at 0x00000285C7446F08>, <zip object at 0x00000285C7446C08>, <zip object at 0x00000285C7446E48>, <zip object at 0x00000285C7488748>, <zip object at 0x00000285C7488708>])
*wish, but can't print keys & values of dict 'order_list.values()'.
回答3件
あなたの回答
tips
プレビュー