私の問題は、辞書の値を行のインデックスにマップする方法です。私は次のような辞書を持っています:
ordered_dict = OrderedDict(1:"id", 2:"name", 3:"address", 4:"salary")
そして、私は次のselect
ようなクエリから行を取得しました:
row = ["David", 4500, "France", 121]
次のコードではid
、辞書の最初のインデックスとして取得します。これは、の場合は4番目row
ですが、変数値が実際にの値を取得するようにマップしid
ますrow
。
for item in ordered_dict.iteritems:
value = row[index of current item in dictionary] # which is 1 for the id.
しかし、私はのインデックスが必要id
ですrow
。すなわち。
value = row[index of id in row] # that is, value = row [4]
id
からの値を取得できるようにします。row
これは121
。
ディクショナリまたはクエリの現在の構造を壊すことができないselect
ので、行アイテムをディクショナリにマップする方法を探しています。
編集:上記のコードでは、最初の反復で得られるものは
value = row[0] # here 0 is the id of dictionary,
しかし、がcontainsのインデックスとして取得row[0]
する場合は、のインデックスをにマップする必要があります。これは、私の例では、を取得するために、ここにinのインデックスがあるため、結果として取得します。"David"
0
row
"David"
id
row
3
value = row[3]
3
id
row
121