将包含 x、y、z 坐标的列表作为具有前导原子名称的 3 列写入文件

Writing lists containing x,y,z coordinates into a file as 3 columns with a leading atom name

我是 python 的新手。我一直在尝试将包含多个 x、y、z 坐标形式的列表的嵌套列表一次一行写入一个文件。

例如:我有这样的列表
x = [[1,2,3],[4,5,6],[7,8,9]]
y = [[10,11,12],[13,14,15],[16,17,18]]

我想写的是这样的:
假设我有一个名为 ring1.xyz.
的文件 打开的话应该是这样的。
H 1 2 3
H 4 5 6
H 10 11 12
高 13 14 15

只应将前两个列表写入文件。

我目前尝试过此代码块,但它不起作用。
任何 lead\solution 表示赞赏

for s in range(3):
    with open("ring_%s.xyz" %s, "w+") as f:
    for k in range(2):
            for j in x[k]:
                f.write('H\n')
                f.write('       ')
                f.write('%s' % j)

试试这个代码,告诉我它是否有帮助:-

for s in range(3):
    with open("ring"+s+".xyz") as f:
        for i in range(2):
            f.write("H ")
            for j in x[i]:
                f.write(str(j))
                f.write(" ")
            f.write("\n")

你可以试试这个:

def open_file(l,ind):
    with open("ring"+ind+".txt","a+") as f:
        for i in l[:2]:
            f.write("H "+" ".join(i))
        f.write("\n")

x = [[1,2,3],[4,5,6],[7,8,9]]
y = [[10,11,12],[13,14,15],[16,17,18]]
open_file(x,1)
open_file(y,2)