Python 如何为数组组合或打印使用相同的格式说明符?
我有以下两个数组meanA和stdA。我想把它们组合起来,生成第三个数组CPython 如何为数组组合或打印使用相同的格式说明符?,python,arrays,replication,format-specifiers,Python,Arrays,Replication,Format Specifiers,我有以下两个数组meanA和stdA。我想把它们组合起来,生成第三个数组C meanA = [86.6,87.2,85.4,86.6,83.0,87.2,92.7,80.0,86.6,87.8,89.0,87.8] stdA = [0.08, 3.1,0.08,2.5,0.1,3.1,1.2,0.4,1.2,1.2,0.0,3.7] 我想使用一个格式说明符组合这两个数组,如“%.2f+/-%.2f%%”,并生成第三个数组C。我用python编写它,作为C=“%.2f+/-%.2f%%”%(me
meanA = [86.6,87.2,85.4,86.6,83.0,87.2,92.7,80.0,86.6,87.8,89.0,87.8]
stdA = [0.08, 3.1,0.08,2.5,0.1,3.1,1.2,0.4,1.2,1.2,0.0,3.7]
我想使用一个格式说明符组合这两个数组,如“%.2f+/-%.2f%%”
,并生成第三个数组C。我用python编写它,作为C=“%.2f+/-%.2f%%”%(meanA,stdA)
。但是,这给了我一个错误,即TypeError:只有size-1数组才能转换为Python标量
我知道这个操作只能在标量上进行。但是,我想知道我们可以在阵列上也这样做吗。我想避免重复写同一行,如下所示
C[0]=“%.2f+/-%.2f%%”%(平均值[0],stdA[0])
C[1]=“%.2f+/-%.2f%%”%(平均值[1],stdA[1])
C[2]=“%.2f+/-%.2f%%”%(平均值[2],stdA[2])
C[3]=“%.2f+/-%.2f%%”%(平均值[3],stdA[3])
C[4]=“%.2f+/-%.2f%%”%(平均值[4],stdA[4])
C[5]=“%.2f+/-%.2f%%”%(平均值[5],stdA[5])
C[6]=“%.2f+/-%.2f%%”%(平均值[6],stdA[6])
C[7]=“%.2f+/-%.2f%%”%(平均值[7],stdA[7])
C[8]=“%.2f+/-%.2f%%”%(平均值[8],stdA[8])
C[9]=“%.2f+/-%.2f%%”%(平均值[9],stdA[9])
我想要以下输出C=[86.6+/-0.08,87.2+/-3.1,85.4+/-0.08,86.6+/-2.5,83.0+/-0.1,87.2+/-3.1,92.7+/-1.2,80.0+/-0.4,86.6+/-1.2,87.8+/-1.2,89.0+/-0.0,87.8+/-3.7]
有人知道在一行代码中实现这一点的最简单方法吗
提前谢谢你 将单个元素馈送到字符串转换器中:
["%.2f+/-%.2f%%" % (a, b) for a, b in zip(meanA, stdA)]
结果:
['86.60+/-0.08%',
'87.20+/-3.10%',
'85.40+/-0.08%',
'86.60+/-2.50%',
'83.00+/-0.10%',
'87.20+/-3.10%',
'92.70+/-1.20%',
'80.00+/-0.40%',
'86.60+/-1.20%',
'87.80+/-1.20%',
'89.00+/-0.00%',
'87.80+/-3.70%']
使用f字串看起来更干净一些:
[f'{a:.2f}+-{b:.2f}%' for a, b in zip(meanA, stdA)]
谢谢Jussi Nurminen的快速回答!这对我有用。再次感谢您!谢谢@ankushjamthikar,如果你愿意,你可以接受答案:)