我刚开始学习Python(2.X),这里我试图从一个文件中“隔离”有用的数据集,这样我就可以进行计算了。在
我可以像这样拆分字典来打印数据行(数字):
for n in lines:
lx=n.split()[3]
print lx
我会从字典的索引3中得到我需要的数据集。在输出方面,在执行脚本后如下所示:
^{pr2}$但我想把它们变成一个列表或数组
^{3}$这样我就可以计算出这组数字(不仅仅是6个数字)。我知道我可以使用sum()
,len()
和其他基本的内置数学函数进行计算。我试图保持它非常简单,而不使用itertools,我在这里看到了很多专门用于获取列表的总和或平均值的帖子。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这就是我所拥有的:
f=open("1FKA.pdb",'r')
lines=f.readlines()
f.close()
for n in lines:
lx=[]
lxx=[]
if n[:4]=="ATOM":
lx=n.split()[3]
lxx=[float(n.split()[3]) for n in lines]
print lx
print lxx
Traceback (most recent call last):
lxx=[float(n.split()[3]) for n in lines]
IndexError: list index out of range
使用列表理解:
如果
^{pr2}$n.split()[3]
提供了一个字符串,请尝试:编辑:
您还需要在列表理解中过滤以“ATOM”开头的行,不要使用嵌套循环:
甚至:
相关问题 更多 >
编程相关推荐