ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

onnxのnamedtupledict

Qumicoでいろいろやろうとしていたらエラーがでたので調べたメモ

namedtupledictはonnxの中で定義されている関数。

github.com

namedtupleに辞書形式でのアクセスを追加しています。

簡単な使い方

import collections

def namedtupledict(*a, **kw):
   namedtuple = collections.namedtuple(*a, **kw)
   def getitem(self, key):
      if type(key) == str:
          return getattr(self, key)
      return tuple.__getitem__(self, key)
   namedtuple.__getitem__ = getitem
   return namedtuple


x = namedtupledict('x', ('name', 'age', 'address'))

x1 = x('natu', 17, 'Japan')

print(x1.name)
print(x1[1])
print(x1['address'])
      

実行結果

natu
17
Japan