2017-06-01 72 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")