2015-08-28 16 views
0

我有一个基本上带有每个键的值列表的字典的函数,它处理字典以获得每个键的值的总数,然后对它们进行排序在键上。在Python中的打印格式 - 预期的左派Allignment

代码:

def friends_count(candidate): 
    di = {k:sum(1 for x in v if x) for k,v in candidate.items()} 
    for key in sorted(di): print "%s %s" % (key,di[key]) 

My output

预期输出:

enter image description here

如何离开allign我的输出? 任何人都可以建议我一些打印语句的替代?

+0

几乎所有的候选人都已经“右对齐” :) – tlehman

回答

1

使用.rjust(width, " "),其中width比名字最长的更大:

def friends_count(candidate): 
    di = {k:sum(1 for x in v if x) for k,v in candidate.items()} 
    for key in sorted(di): print "%s %s" % (key.rjust(20," "),str(di[key]).rjust(4," ")) 
+0

我没有得到你..你能进一步解释一下,我'm实际上是新的python – Wolf

+0

我在一个基于你的功能 – tlehman

+0

的例子编辑哦,我很抱歉。我该如何离开输出?打错了我的问题 – Wolf