如何在一行中获取由字符串分隔的数组条目?

Lyu*_*Lyu 2 python arrays numpy

我有这个数据

[[ 2.696000e+00  0.000000e+00  0.000000e+00  0.000000e+00]
 [ 2.577000e+00  0.000000e+00  0.000000e+00  0.000000e+00]
 [ 0.000000e+00 -2.560096e+03  0.000000e+00  0.000000e+00]
...
Run Code Online (Sandbox Code Playgroud)

并想为每一行打印它

2.696000e+00 & 0.000000e+00 & 0.000000e+00 & 0.000000e+00 //
2.577000e+00 & 0.000000e+00 & 0.000000e+00 & 0.000000e+00 //
...
Run Code Online (Sandbox Code Playgroud)

我所做的是

for k in range(1):
for i in range(len(data[k])):
    print(data[k][i],'&')
    if i == len(data[k])-1:
        print(data[k][i],'//')
Run Code Online (Sandbox Code Playgroud)

哪个输出

2.696 &
0.0 &
0.0 &
0.0 &
0.0 //
Run Code Online (Sandbox Code Playgroud)

如何去掉行中每个条目之间的新行?

And*_*ely 5

您可以使用str.join以下方式连接数字&,然后打印//为最后一个字符串:

data = [
    [2.696000e00, 0.000000e00, 0.000000e00, 0.000000e00],
    [2.577000e00, 0.000000e00, 0.000000e00, 0.000000e00],
    [0.000000e00, -2.560096e03, 0.000000e00, 0.000000e00],
]

for row in data:
    print(' & '.join(map(str, row)), '//')
Run Code Online (Sandbox Code Playgroud)

印刷:

2.696 & 0.0 & 0.0 & 0.0 //
2.577 & 0.0 & 0.0 & 0.0 //
0.0 & -2560.096 & 0.0 & 0.0 //
Run Code Online (Sandbox Code Playgroud)