簡體   English   中英

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

[英]how to search and print dictionary with python?

例如,我有這樣的字典

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.")

當然,它沒有用。 如何提取字典中的鍵和項?

您可以使用以下代碼進行操作

for fruit, colors in fruitdict.items():
    print('{} have {} color.'.format(fruit, ' '.join(colors)))

如果您只使用普通字典而不是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.

考慮使用pprint模塊。 它將以更清潔的輸出和縮進來完成這項工作。

import pprint                                                                       
pp = pprint.PrettyPrinter(indent=4)                                     
pp.pprint(dictobj)       
fruitdict = {'apple':{'red'}, 'banana':{'yellow'}, 'cinnamon':{'brown'}}

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

問題是您使用字典作為值。 嘗試這個:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM