我对python是全新的,对一般的编码也是相当陌生的,所以请耐心听我说。你知道吗
我正在尝试执行for循环:
for numi,i in enumerate(v1):
for numj,j in enumerate(v1):
angle=(np.arccos(np.dot(i,j))/(np.linalg.norm(i)*np.linalg.norm(j))))*180/(np.pi)
print(angle)
但是我想添加一个条件,循环跳过与两个不同数组的任何元素匹配的任何值或i
或j
ala=[i for i,x in enumerate(resname) if x=='ALA']
gly=[i for i,x in enumerate(resname) if x=='GLY']
其中包含
[0, 9, 14, 45, 56, 72, 87, 101, 102, 126, 145]`
以及
[22, 24, 32, 39, 58, 60, 95, 97, 112, 130, 132]`
我尝试使用一个条件if语句,使用'continue',但是我不知道正确的语法来让它识别数组中的i
或j
==任何元素
像这样的
for numi,i in enumerate(v1):
if i==ala or i==gly:
continue
else:
for numj,j in enumerate(v1):
if j==ala or j==gly:
continue
else:
angle=(np.arccos(np.dot(i,j))/(np.linalg.norm(i)*np.linalg.norm(j))))*180/(np.pi)
print(angle)
除了那些真正有效的代码
您可以使用
any
内置函数:给出:
相关问题 更多 >
编程相关推荐