我有两组描述原子位置的数据。它们位于我想比较的单独文件中,旨在通过它们的坐标识别匹配的原子。两种情况下的数据都如下所示,最多有 1000 个左右的条目。这些文件具有不同的长度,因为它们描述了不同大小的系统并具有以下格式:
1 , 0.000000000000E+00 0.000000000000E+00
2 , 0.000000000000E+00 2.468958660000E+00
3 , 0.000000000000E+00 -2.468958660000E+00
4 , 2.138180920454E+00 -1.234479330000E+00
5 , 2.138180920454E+00 1.234479330000E+00
第一列是条目 ID,第二列是 x,y 中的一组坐标。
我想做的是比较两组数据中的坐标,识别匹配项和相应的 ID,例如“文件 1 中的条目 3 对应于文件 2 中的条目 6”。我将使用此信息来更改文件 2 中的坐标值。
我已经逐行阅读了这些文件,并使用命令将它们分成每行两个条目,然后将它们放入一个列表中,但是对于如何指定比较位有点困惑 - 特别是告诉它比较第二个条目,同时能够调用第一个条目。我想它需要循环吗?
到目前为止,代码看起来像这样:
open1 = open('./3x3supercell_coord_clean','r')
openA = open('./6x6supercell_coord_clean','r')
small_list=[]
for line in open1:
stripped_small_line = line.strip()
column_small = stripped_small_line.split(",")
small_list.append(column_small)
big_list=[]
for line in openA:
stripped_big_line = line.strip()
column_big = stripped_big_line.split(",")
big_list.append(column_big)
print small_list[2][1] #prints out coords only