如何用python搜索和打印字典?

时间:2015-04-20 12:07:19

标签: python python-3.x dictionary

例如,我有一个像这样的字典

print(fruitdict)
defaultdict(<class 'set'>, {'apple':{'red'}, 'banana':{'yellow'}, 'cinnamon':{'brown'}...
etc

订单不是问题,我只想打印

"apple have red color."
"banana have yellow color."
"cinammon have brown color."
etc

我不知道,因为我认为只是

x = len(fruitdict)
for n = range(0, x+1):
    print(fruitdict.keys()[n])
    print(" have ")
    print(fruitdict.item()[n])
    print(" color.")

当然,它没有用。 如何在字典中拾取密钥和项目?

5 个答案:

答案 0 :(得分:3)

您可以使用以下代码

执行此操作
for fruit, colors in fruitdict.items():
    print('{} have {} color.'.format(fruit, ' '.join(colors)))

答案 1 :(得分:1)

如果不是defaultdict,你只需要一个普通的字典

d = {'apple':'red', 'banana':'yellow', 'cinnamon':'brown'}

您可以迭代items并使用format创建字符串

for (key, value) in d.items():
    print('{} have {} color.'.format(key, value))

输出

cinnamon have brown color.
apple have red color.
banana have yellow color.

答案 2 :(得分:-1)

考虑使用pprint模块。它将以更清洁的输出完成工作 缩进。

import pprint                                                                       
pp = pprint.PrettyPrinter(indent=4)                                     
pp.pprint(dictobj)       

答案 3 :(得分:-2)

fruitdict = {'apple':{'red'}, 'banana':{'yellow'}, 'cinnamon':{'brown'}}

for key in fruitdict:
    print key + " have " + str(list(fruitdict[key])[0]) + " color."

答案 4 :(得分:-2)

问题在于您使用字典作为您的值。试试这个:

fruitdict = {'apple' : 'red', 'banana':'yellow', 'carrot':'orange'}

for keys, values in fruitdict.items():
    print('{} has the color {}'.format(keys, values))