python 中的打印格式 - 预期左对齐

printing format in python - expected left 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])

预期输出:

如何左对齐我的输出?? 谁能给我一些打印语句的替代方案??

使用.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," "))