如何在python中从列表中检索特定信息?
我有一个文件,我想从中检索特定信息 首先,我提取了感兴趣的行,并将它们放在一个列表中:如何在python中从列表中检索特定信息?,python,Python,我有一个文件,我想从中检索特定信息 首先,我提取了感兴趣的行,并将它们放在一个列表中: array = [] file_in = open("Traj.pdb", "r") for line in file_in: if line.startswith('TITLE'): array.append(line) 最后,我列出了如下清单: ['疯狂!膜中的蛋白质 上部传单>POPC:POPE:CHOL=31.0:41.0:28.0 LowerLablet>POP
array = []
file_in = open("Traj.pdb", "r")
for line in file_in:
if line.startswith('TITLE'):
array.append(line)
最后,我列出了如下清单:
['疯狂!膜中的蛋白质
上部传单>POPC:POPE:CHOL=31.0:41.0:28.0
LowerLablet>POPC:POPE:CHOL=31.0:41.0:28.0 t=1500000.00000\n',“标题”
疯狂中的蛋白质!膜上小叶>POPC:POPE:CHOL=31.0:41.0:28.0
LowerLablet>POPC:POPE:CHOL=31.0:41.0:28.0 t=1500020.00000\n',“标题”
疯狂中的蛋白质!膜上小叶>POPC:POPE:CHOL=31.0:41.0:28.0
LowerLablet>POPC:POPE:CHOL=31.0:41.0:28.0 t=1500040.00000\n']
我想提取t=信息t=1500000.00000、t=1500020.00000、t=1500040.00000……等等,但我不知道如何做。如您所见,我的列表中的元素是句子,我对如何检索本例中的特定信息感到有点困惑。我非常感谢您的帮助或建议。试试这个:
import re
array_with_elements_i_want = []
for elem in array:
array_with_elements_i_want.append(re.search(r"t= (.)*", elem).group(0))
或者更好:
import re
array_with_elements_i_want = []
for elem in array:
v = re.search(r"t= (.)*", elem)
if v is not None:
array_with_elements_i_want.append(v.group(0))
在t=上拆分列表,它将为您提供左右两半。您只需要右半部分,即t=之后的内容。另外,请确保删除右半部分末尾的新行字符
l = ['TITLE Protein in INSANE! Membrane UpperLeaflet>POPC:POPE:CHOL=31.0:41.0:28.0 LowerLeaflet>POPC:POPE:CHOL=31.0:41.0:28.0 t= 1500000.00000\n', 'TITLE Protein in INSANE! Membrane UpperLeaflet>POPC:POPE:CHOL=31.0:41.0:28.0 LowerLeaflet>POPC:POPE:CHOL=31.0:41.0:28.0 t= 1500020.00000\n', 'TITLE Protein in INSANE! Membrane UpperLeaflet>POPC:POPE:CHOL=31.0:41.0:28.0 LowerLeaflet>POPC:POPE:CHOL=31.0:41.0:28.0 t= 1500040.00000\n']
result = []
for line in l:
splitted_arr = line.split("t= ")
# Consider only the right half
splitted_arr = splitted_arr[1]
# Remove the last character i.e \n
splitted_arr = splitted_arr[:len(splitted_arr)-1]
result.append(splitted_arr)
print(result)
似乎您需要数组.appendline.strip.split'='[-1]来代替