0

空の辞書が3つあるとしましょう。

dic1 = {}
dic2 = {}
dic3 = {}

そして、関数を使って、これらの辞書に一度に追加したいと思います。これを行う最も簡単な方法は、これまでのところ次のとおりです。

def fillDics(x):
    count = 0
    for i in range(0, x):
            if count==0:
                    dic1[legendaryfn[count]] = 0
                    dic1[legendary[count]] = 1
                    count+=1

            if count==1:
                    dic2[legendaryfn[count]] = 0
                    dic2[legendary[count]] = 1
                    count+=1

など、これは非常に非効率的なようです。私は何が欠けていますか?私はプログラミングにかなり慣れていないので、あなたが提供できるどんな助けにも感謝します。

4

2 に答える 2

0

それはこのように達成されます。

for myDict in [dict1, dict1, dict3]:
  myDict[key] = value

さらに、数値が意味のあるものである場合は、列挙を追加できます。

for idx, myDict in enumerate([dict1, dict2, dict3]):
  myDict['position'] = idx

またはあなたは何を持っていますか。

于 2012-11-30T00:04:27.643 に答える
0

辞書のリストを使用できます

def fillDics(x):
    for d in [dict1,dict2,dict3]:
        d[legendaryfn[count]] = 0
        d[legendary[count]] = 1
于 2012-11-30T00:05:56.193 に答える