我的代码循环遍历一个元组列表,并在我认为会给我一个漂亮的表格中显示它们,但是当它显示它们时它们没有一个漂亮的表格,它们开始变得格式化并且看起来很糟糕。“ p>
for i in range(0,(len(l)-1)):
print("{:<30s}{:<30s}{:<6s}{:<15s}£{:>6s}".format(l[i][4],l[i][3]\
,l[i][0],l[i][2],l[i][1]))
每一行都是一个包含五个变量的元组。间距是否正常,这只是我的电脑显示它的方式,还是我使用的格式代码有问题?
另外,使用格式化如何使每个人的姓氏后面都有一个逗号,并且薪水直接在其前面加上“£”。
谢谢。
答案 0 :(得分:0)
# -*- coding: cp1252 -*-
pat = "{:<30s}{:<30s}{:<6s}{:<15s}£{:>6s}"
l = [("12345",'35000','Consultant','Bart','Simpson'),
("12346","25000","Teacher","Ned","Flanders")]
d = dict.fromkeys(xrange(5))
for x in l:
for i in xrange(5):
d[i] = max(d[i],len(x[i]))
print '\n'.join('%s : %d' % item for item in d.iteritems())
pat = "{4:<%s} {3:<%s} {0:<%s} {2:<%s} £{1:>%s}"\
%(d[4],d[3],d[0],d[2],d[1])
for x in l:
print pat.format(*x)
但是对于熊猫来说,它会更简单。让我来一些时间来添加Pandas的解决方案