Python打印格式

时间:2013-06-17 17:09:27

标签: python printing format

dict={'algorithm':'user1','datastr':'user2','hashing':'user3'}
def forums(dict):
    header = ("SubForums","Created By")
    dict_list=dict.items()
    dict_list.insert(0,header)
    i=0
    col_width = max(len(word) for row in dict_list for word in row) + 2 # padding
    for row in dict_list:
            print str(i+1)+"."+"".join(word.ljust(col_width) for word in row)

我想像这样打印:

SubForums   Created By  
1.Algorithm User1     
2.Hash      user2           
3.datastr   user3

目前的打印方式与dis:

相同
  1.SubForums   Created By  
  2.Algorithm   User1     
  3.Hash        user2           
  4.datastr     user3

任何人都可以请更正我的代码并帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:2)

def forums(d):
    dict_list = [('Subforums', 'Created by')]
    for i, (k, v) in enumerate(d.items(), 1):
        k = '{0}. {1}'.format(i, k)
        dict_list.append((k, v))

    col_width = max(len(word) for row in dict_list for word in row) + 2 # padding

    for row in dict_list:
            print ''.join(word.ljust(col_width) for word in row)

(请注意我已将dict更改为d:使用built-in function's name作为变量是一个坏主意!)