我试图通过删除未在1,2或3中完成的行来对我拥有的数组进行排序。 到目前为止,我还不是很成功,我提出的代码看起来像这样:
这些行设置要在函数中使用的变量
import numpy as np
A=[]
B=[]
C=[]
file = open('glycine_30c.data', 'r')
bondsfile = open('glycine_30c.bonds', 'r')
这些行将.data和.bonds文件读入数组
for lines in file:
eq = lines.split()
A.append(str(eq))
for x in bondsfile:
bon = x.split()
B.append(str(bon))
这些行(希望)删除列表中的所有元素" B"不以1,2或3结尾,然后将它们添加到新列表中,并且#34; C"虽然这不是必要的
for n in range(len(B)):
if B[n].endswith(1,2,3) == True:
C.append (B[n])
print C
非常感谢任何帮助,谢谢
答案 0 :(得分:0)
endswith()
的文档说明:
endswith(...)
S.endswith(suffix[, start[, end]]) -> bool
Return True if S ends with the specified suffix, False otherwise.
With optional start, test S beginning at that position.
With optional end, stop comparing S at that position.
suffix can also be a tuple of strings to try.
即。调用
B[n].endswith(1,2,3)
实际上并未真正检查B[n]
是否以1,2,3中的任何一个结尾。您可能想要的是
B[n].endswith(("1", "2", "3"))
即。传递一个元组参数。