我目前在列中打印多个数组的黑客方式使用关键字参数来标记输出:
def table(**data_dict):
n=([len(x) for x in data_dict.values()]) # # data for each var
N=max(n)
# prep data & print headings
prntstr=''
for i,var in enumerate(data_dict):
# convert lists to str for printing, padding as needed
data_dict[var] = ['{:.5g}'.format(x) for x in data_dict[var]] + ['']*(N-n[i])
prntstr=prntstr+f'| {var:^8} |'
print(prntstr,'-'*12*len(data_dict),sep='\n'); # print heading
# print data
for i in range(0,N):
prntstr=' '.join(f'{data_dict[var][i]:>11}' for var in data_dict)
print(prntstr)
并使用
rho=[1.5,0.11]
Fx=[-14.2]
table(rho=rho,T=[665,240],Fx=Fx)
生产
| rho || T || Fx |
------------------------------------
1.5 665 -14.2
0.11 240
是否有另一种方法可以使用绑定的参数名称(例如 rho)并避免非关键字参数的重复(例如 rho=rho),以便可以简单地键入table(rho,T=[665,240],Fx)
?先感谢您。