0
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

谁能更正我的代码并帮助我。先感谢您。

4

1 回答 1

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)

(请注意我如何更改dictd:使用内置函数的名称作为变量是一个坏主意!)

于 2013-06-17T17:36:24.013 回答