在Python中打印表格数据的最佳方法是什么?假设数据在2D列表中,我想创建一个智能外观的表.我实际拥有的是一个字典列表,我想根据字典中的值打印一个交集.就像是
for val1 in my_dict:
for val2 in my_dict:
if val1['a'] > val2['a']:
print 'x'
Run Code Online (Sandbox Code Playgroud)
但是这样每个列的宽度都是固定的.Writer和格式化程序类似乎是可能性的东西,但与Perl的格式化程序相比,它仍然看起来很复杂.
是否有任何现有的实现或我必须自己编写?
小智 15
print "%20s" % somevar
Run Code Online (Sandbox Code Playgroud)
将打印值'somevar'并使用多达20个空格.在print语句后面添加一个逗号以避免换行 - 当然:在'%'运算符上读取字符串格式化操作docs
以下是编写正方形和立方体表的两种方法:
for x in range(1, 11):
print repr(x).rjust(2), repr(x*x).rjust(3),print repr(x*x*x).rjust(4)
for x in range(1,11):
print '{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x)
Run Code Online (Sandbox Code Playgroud)
检查此了解详情.