私の問題は、辞書の値を行のインデックスにマップする方法です。私は次のような辞書を持っています:
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"0row"David"idrow3value = row[3]3idrow121