我有一串所有节点的坐标。基本上,我将字符串拆分为一对坐标(x,y)(这是代码中的部分结果:values = line.split())。如果我打印“值”,我将得到结果如下:
RMS_x
我有7个节点及其坐标。但是我想使用前5个节点继续追加到坐标列表。我怎么能这样做?
我的代码是:
['1', '3600', '2300']
['2', '3100', '3300']
['3', '4700', '5750']
['4', '5400', '5750']
['5', '5608', '7103']
['6', '4493', '7102']
['7', '3600', '6950']
答案 0 :(得分:0)
按如下方式更改您的代码:
def read_coordinates(self, inputfile):
coord = []
iFile = open(inputfile, "r")
for i in range(6): # skip first 6 lines
iFile.readline()
line = iFile.readline().strip()
i = 0
while i < 5
values = line.split()
coord.append([float(values[1]), float(values[2])])
line = iFile.readline().strip()
i += 1
iFile.close()
return coord
现在你的while循环只运行前5行,这将为前5个节点提供结果
答案 1 :(得分:0)
也许这会解决问题,使用上下文管理器来保持功能更加整洁。
def read_coordinates(self, inputfile):
coord = []
with open(inputfile, "r") as iFile:
for i in xrange(6): # Skip first 6 lines
next(iFile)
for i in xrange(5): # Read the next 5 lines
line = iFile.readline().strip()
values = line.split()
coord.append([float(values[1]), float(values[2])])
return coord