2017-06-01 68 views
1

我試圖在Python中整齊地打印字典,但不確定如何去做。打印包含鍵和列表的字典

如果我有字典

mydict = {'Jackson' :['One', 'Two', 'Three'], 'Jeffery' :['Four', 'Five', 'Six']} 

如何將我打印出來是這樣的:

Jackson One Two Three 

Jeffery Four Five Six 

即時猜測我必須用一個for循環,只是努力弄清楚如何打印列表組件。

+1

一個'for'循環將是一個好主意追求,有一個去,如果你有一個具體問題的鬥爭回來。注意:'str.join()'也可能在你將來。 – AChampion

+0

我明白downvote,但如果你退後一步,似乎這可能是一個有用的Q/A,除非它是一個dup。似乎有點規範。 –

+0

你應該試着告訴一下,如果有什麼特定的東西妨礙你的進步 –

回答

1

另一種方式來解決這個問題,

def printDictionary(mydict): 
    for i in mydict.keys(): 
     print(i + " " + (" ".join(mydict[i]))) 

mydict = mydict = {'Jackson' :['One', 'Two', 'Three'], 'Jeffery' :['Four', 'Five', 'Six']} 
printDictionary(mydict) 
0

在Python3.6,您可以使用f

>>> mydict = { 
...  'Jackson' :['One', 'Two', 'Three'], 
...  'Jeffery' :['Four','Five', 'Six'] 
... } 

>>> for k,v in mydict.items(): 
...  print(f"{k} {' '.join(v)}") 
... 
Jackson One Two Three 
Jeffery Four Five Six 

在舊版本3.x的,你可以通過按鍵使用的格式

>>> for k,v in mydict.items(): 
...  print("{k} {vstr}".format(k=k, vstr=" ".join(v))) 
... 
Jackson One Two Three 
Jeffery Four Five Six 

或位置

>>> for k,v in mydict.items(): 
...  print("{} {}".format(k, " ".join(v))) 
... 
Jackson One Two Three 
Jeffery Four Five Six 

如果你想成爲簡潔,你也可以只使用元組拆包(但它是非常不靈活,如果你需要更改輸出格式)

>>> for k, v in mydict.items(): 
...  print(k, *v) 
... 
Jackson One Two Three 
Jeffery Four Five Six 
0
for key in mydict: 
    print(key,end=' ') 
    for i in mydict[key]: 
     print(i,end='') 
    print("\n")