实际案例
某个字典存储了一系列属性值,
{
"lodDist": 100.0,
"SmallCull": 0.04,
"DistCull": 500.0,
"trilinear": 40,
"farclip": 477
}
在程序中,我们想以如下工整的格式将其内容输出,如何处理?
SmallCull : 0.04
lodDist : 100.0
DistCull : 500.0
trilinear : 40
farclip : 477
解决方案:
- 方法一:使用字符串的str.ljust(), str.rjust()和str.center()进行左、右和居中对齐
- 方法二:使用format(),传递类似'<20', '>20', '^20'参数完成同样任务
两种方法的代码如下:
# -*- coding: utf-8 -*-
d = {
"lodDist": 100.0,
"SmallCull": 0.04,
"DistCull": 500.0,
"trilinear": 40,
"farclip": 477
}
# 寻找字典中元素最大宽度
w = max(map(len, d.keys()))
# 方法一
print u"方法一:"
for k in d:
print k.ljust(w), ":", d[k]
print "\n"
# 方法二
print u"方法二:"
for k in d:
print format(k, "<" + str(w)), ":", d[k]
其输出结果为:
方法一:
SmallCull : 0.04
farclip : 477
lodDist : 100.0
DistCull : 500.0
trilinear : 40
方法二:
SmallCull : 0.04
farclip : 477
lodDist : 100.0
DistCull : 500.0
trilinear : 40