我有一个文件
A 1 N MET P 1 27.340 24.430 2.614
A 2 HT1 MET P 1 26.953 23.623 2.168
A 3 CB MET P 1 27.740 24.175 3.494
A 4 H MET P 1 28.039 24.841 2.028
A 5 CA MET P 1 26.266 25.413 2.842
A 6 HA MET P 1 25.880 25.742 1.885
A 7 C MET P 1 25.112 24.880 3.649
A 8 HB1 MET P 1 24.236 25.536 3.434
... ... ... ... . ... ..... ..... .....
作为代码的一部分,我将获取文件第二列的值并取该值,我需要减小它的值,直到第三列字符串应该是元素之一list=['C','N','O']
并附加 6、7、8 的值一旦条件得到满足,列表和循环的列值就会中断(因为第三列中的字符串是递归的)我已经尝试过这种方式:注意:atom_no
是第二列值和 rl1-readlines
dec=int(atom_no)-1
for i in range(0,1231):
dec=dec-1
list_coor1=[]
line1=rl1[i]
line1=line1.split()
if len(list_coor1)==0:
if line1[1]==str(dec):
for atom in list:
if line1[2]==str(atom):
for p in range(6,9):
list_coor1.append(line1[p])
print list_coor1
我无法成功我确实认为减小值是有问题的,即,dec=dec-1
因为我打算通过增加 的值来做同样的事情atom_no
,所以我试图定义递归函数但无法做到。
任何帮助将不胜感激。
提前致谢