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
任何人都可以请更正我的代码并帮助我。提前谢谢。
答案 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作为变量是一个坏主意!)