にアクセスしようとしたとき、私はdictのタイプエラーdictの値
d1={'a':['in-gaap','inr',0,1],'b':['in-gaap','inr',0,2],'c':['in-ca','share',0,4],'n1':['','','','aaa']}
d2={'d':['in-gaap','inr',0,'a+b'],'e':['in-gaap','inr',0,'y+t']}
for k in d2.iterkeys():
a=re.findall('\w+',d2[k][3])
x2=dict([(x,d1.get(x,0)[3])for x in a]) # here its showing Type:error int obj not subscriptable
d1[k]=[d2[k][0],d2[k][1],d2[k][2],eval(d2[k][3],x2)]
を持っている「」リストでは、動的に、それは「」 のD [中D [K] [3]及び格納を分割作成最初の反復でa = ['a'、 'b']、2回目の反復でa = ['y'、 't'] 実際にはdict "d1"キーがキーの場合はその値を取るか、デフォルト値を割り当てます。 しかし、リストを "a"とdict "d1"を使って比較すると、 x2 = dict([x、d1.get(x、0)[3]
これは型を表します:エラーintオブジェクトはサブオプションではありません。私は駄目ですが、d2 [k] [3]は値を持っていますがエラーを示しています。
d1.get(X、0)[3]の問題はここにあるデフォルト値がどこにあるint型の[3]のインデックスを取得している理由の方法は...リストを返すされていません取得0? –
@akhter wahab dict "d1"と表示された場合d1 = {'a':['in-gaap'、 'inr'、0,1] ....}私は "1 "インデックス3にあるので、d.get(x、0)[3]を使用しています。値がbalnkの場合、デフォルト値が割り当てられます。 – user1182090