Python 如何为数组组合或打印使用相同的格式说明符?

Python 如何为数组组合或打印使用相同的格式说明符?,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和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%%”%(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,如果你愿意,你可以接受答案:)