1. ホーム
  2. python

[解決済み] ディクショナリ ストからディクショナリ ストへ

2022-11-15 23:49:48

質問

リストの辞書(すべて同じ長さ)の間を行ったり来たりしたいのです。

DL = {'a': [0, 1], 'b': [2, 3]}

と辞書の一覧を表示します。

LD = [{'a': 0, 'b': 2}, {'a': 1, 'b': 3}]

私は、2つのフォームを切り替える最もきれいな方法を探しています。

どのように解決するのですか?

numpyの利用を検討してみてはいかがでしょうか。

import numpy as np

arr = np.array([(0, 2), (1, 3)], dtype=[('a', int), ('b', int)])
print(arr)
# [(0, 2) (1, 3)]

ここでは、名前によってインデックス付けされたカラムにアクセスする、例えば 'a' または 'b' (のようなものです。 DL ):

print(arr['a'])
# [0 1]

ここでは、整数のインデックスによって行にアクセスしています(まるで LD ):

print(arr[0])
# (0, 2)

行の各値はカラム名でアクセスすることができます (例 えば LD ):

print(arr[0]['b'])
# 2