2012-04-15 40 views
1

我想写一个python脚本,一次创建几个字典然后打印字典,但我不知道如何将字符串转换为变量。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'}} 
+5

使用列表(不包括索引器中的“D”)或其他字典。你稍后会感谢你。 – 2012-04-15 04:58:35

+0

或者使用字典字典 - 计算密钥仍然比计算机名称更好 - 如果你想能够任意命名它们而不仅仅是连续的数字。 – agf 2012-04-15 05:00:42

+1

你的'数字'循环应该是:'范围内的数字(1,11):' – 2012-04-15 05:07:59

回答

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) 

如果您没有为字典使用名称,请将它们放入列表中。

+0

空白字典,我不知道你可以做到这一点。似乎是个好主意。 – RandomPhobia 2012-04-15 06:01:54

+0

+1开启和关闭句子 – 2014-11-02 08:41:34

0

你似乎试图创建一个混合的数据类型,但我不清楚你想要什么样的结构,所以我会给你2个答案,并希望一个是正确的。

月1日,如果你想创建一批字典和打印它,你会做这样的:

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

2日,由你给你的目标可能是创建一个字典的例子中去列表。例如

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

,您可以访问它像这样:

print(listDic['Fruit']) 

会导致

[ '苹果', 'Bannanas', '飘飘']

and this print(listDic ['Fruit'] [1]) res res ULT在

Bannanas

如果我错过了答案你想要的或想详细刚落评论。