1

一度に複数の辞書を作成してから辞書を出力するPythonスクリプトを書きたいのですが、文字列を変数に変換する方法がわかりません。

number = 0

while (number < 10):
    number = number + 1
    dictionarynumber = ("D"+str(number)) # creates the dictionarys name(D1,D2,D3,D4,D5,D6,D7,D8,D9,D10)
    var(dictionarynumber) = {"Fruit":"Apple","Book":"Oliver Twist","Building":"White House"} #Of course var() doesn't work but I placed it here to get my point across
    print(dictionarynumber)

回答後:

私は辞書についての考えが好きで、不要な「D」を取り除くことは理にかなっています。皆さんはこれについてどう思いますか?

dict = {}
n = 0

while (n < 10):
    n = n + 1
    d = n
    d = {"Key":"Information"}
    dict[n] = d

print(dict)


# Output = 
#          {1: {'Key': 'Information'},
#           2: {'Key': 'Information'},
#           3: {'Key': 'Information'},
#           4: {'Key': 'Information'},
#           5: {'Key': 'Information'},
#           6: {'Key': 'Information'},
#           7: {'Key': 'Information'},
#           8: {'Key': 'Information'},
#           9: {'Key': 'Information'},
#           10: {'Key': 'Information'}}
4

2 に答える 2

4

各辞書に名前を付けたい場合は、それらを辞書に入れます。

dicts = {}
# dict_list = []
for i in xrange(10):
    dictionary_key = ('d{0}'.format(i))
    dict_item = {"Fruit":"Apple","Book":"Oliver Twist","Building":"White House"}
    dicts[dictionary_key] = dict_item
    # dict_list.append(dict_item)

辞書に名前を使用することにこだわっていない場合は、それらをリストに入れてください。

于 2012-04-15T05:03:17.670 に答える
0

混合データ型を作成しようとしているようですが、どのような構造が必要かわからないため、2つの答えを示し、1つが正しいことを願っています。

まず、辞書をたくさん作成して印刷しようとしている場合は、次のようにします。

diclist = [{"Fruit":"Apple"},{"Book":"Oliver Twist"},{"Building":"White House"}]
print(diclist[1])

第二に、あなたが与えた例によって、あなたはリストの辞書を作成することを目指しているかもしれません。例えば

listDic = {'Fruit':['Apples', 'Bannanas', 'Durian'], 'Book':['Oliver Twist','Flashman', 'Catch 22']}
print (listDic)

次のようにアクセスできます。

print(listDic['Fruit'])

結果として

['リンゴ'、'バンナナス'、'ドリアン']

このprint(listDic ['Fruit'] [1])は、次のようになります。

バナナ

私があなたが望む答えを逃したか、あなたがより詳細が欲しいならば、ただコメントを落としてください。

于 2012-04-15T05:34:22.787 に答える