2011-07-20 2 views
0

pyodbcを使用してデータベースを照会し、いくつかのデータを取得しています(明らかに)。 私が望むのは、クエリから返された値に従って新しい辞書を作成することです。 たとえば、1000個のアイテムを持つテーブルがあり、そのテーブル内の1つの列はINT番号で、範囲は1〜51です。 は、私は私のテーブルを介してランダウンを行うには、名前の辞書を作成したい:bought_Isold_I私はINT番号を表しますcreated_I、等...。 私は十分にはっきりしていることを願っています:) 私はそれらの辞書を事前作成することができますが、範囲は常に1-51であるとは限りません。変数名の辞書を作成する

+2

なぜありませんdictsの別のレイヤーを使用するか、またはdictsとリストの組み合わせを使用するかしてください。 – delnan

+0

[Python - 20変数を作成する効率的な方法?](http://stackoverflow.com/questions/6678547/python-efficient-way-to-create-20-variables)とhttp:// stackoverflowも参照してください。 .com/questions/1933451/why-should-exec-and-eval-avoid-avoid –

答えて

7

しないでください。

辞書boughtを作成し、自分の番号に基づいて、鍵をお渡し:soldため

bought = {} 
for number in column_x: 
    bought[number] = "whatever object you need here" 

同じ、createdなど

それとも一つの大きなdict

mydict = {"bought": {}, "sold": {}, "created": {}} 
for number in column_x: 
    for key in mydict: 
     mydict[key][number] = "whatever" 
+4

リストは、常に1-xという数字になるでしょう。 –

+1

値としてdictsを使ってdictを使うと便利かもしれません。 うーん、私はそれを考えます。 – ch1zra

+0

また、どうすればいいですか? mydict [key] [number] = mydict.get([key] [number]、0)+ VARIABLE ? – ch1zra

関連する問題