numpy を使用して 2D マトリックスを操作したくありません
行と列の辞書のようなものを作成する方法を見つけました。単一の値を調べたい場合は問題なく動作します。
しかし、列を使用するのと同じ順序で行から値を取得する方法を理解するのに苦労しています
from collections import defaultdict
dic = defaultdict(dict)
rowKeys = ['1','2','3']
columnKeys = ['alfa', 'omega', 'bravo', 'charlie']
# Filling up the dictionary with values
from random import randrange
for rKey in rowKeys:
for cKey in columnKeys:
dic[rKey][cKey] = randrange(50)
"""
print dic
defaultdict(<type 'dict'>, {
'1': {'omega': 28, 'charlie': 42, 'alfa': 13, 'bravo': 45},
'3': {'omega': 8, 'charlie': 5, 'alfa': 13, 'bravo': 4},
'2': {'omega': 19, 'charlie': 42, 'alfa': 29, 'bravo': 26}})
"""
# print dic[rowKeys[0]].keys()
# ['omega', 'charlie', 'alfa', 'bravo']
# In [28]: print dic[rowKeys[0]].values()
# [28, 42, 13, 45]
「元の」順序で値のリストが必要です
[13, 28, 45, 42]
これを行うためのきれいで読みやすい方法はありますか?
アップデート
@jamylak には、私の特定の問題を解決する答えがありました。
しかし、リストから値を取得する方法についての私の質問には、真の答えはありませんでした。columnKeys の順序をアルファベット順 (または他の非論理的な順序) に変更し、その順序で返される値のリストを取得したいとします。どうすれば_ _できますか?