删除列表中所有不以 python 中的数字结尾的元素
remove all elements in list that do not end in a number in python
我正在尝试通过删除未以 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 结尾的所有元素,然后将它们附加到新列表 "C"虽然那不是真的必要
for n in range(len(B)):
if B[n].endswith(1,2,3) == True:
C.append (B[n])
print C
非常感谢任何帮助,谢谢
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"))
即传递单个元组参数。
我正在尝试通过删除未以 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 结尾的所有元素,然后将它们附加到新列表 "C"虽然那不是真的必要
for n in range(len(B)):
if B[n].endswith(1,2,3) == True:
C.append (B[n])
print C
非常感谢任何帮助,谢谢
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"))
即传递单个元组参数。