从列表池中取出一些第一个坐标列表
Pick up some first coordinate lists from list pool
我有一串所有节点的坐标。基本上,我将字符串拆分为一对坐标 (x,y)(这是代码中部分的结果:values = line.split() )。如果我打印 "values",我将得到如下结果:
['1', '3600', '2300']
['2', '3100', '3300']
['3', '4700', '5750']
['4', '5400', '5750']
['5', '5608', '7103']
['6', '4493', '7102']
['7', '3600', '6950']
我有 7 个节点及其坐标。但是我想使用前 5 个节点继续附加到坐标列表。我该怎么做?
我的代码是:
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()
while line != "EOF":
**values = line.split()**
coord.append([float(values[1]), float(values[2])])
line = iFile.readline().strip()
iFile.close()
return coord
按如下方式更改您的代码:
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 个节点的结果
也许这会奏效,还有使用上下文管理器保持函数整洁的额外好处。
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
我有一串所有节点的坐标。基本上,我将字符串拆分为一对坐标 (x,y)(这是代码中部分的结果:values = line.split() )。如果我打印 "values",我将得到如下结果:
['1', '3600', '2300']
['2', '3100', '3300']
['3', '4700', '5750']
['4', '5400', '5750']
['5', '5608', '7103']
['6', '4493', '7102']
['7', '3600', '6950']
我有 7 个节点及其坐标。但是我想使用前 5 个节点继续附加到坐标列表。我该怎么做?
我的代码是:
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()
while line != "EOF":
**values = line.split()**
coord.append([float(values[1]), float(values[2])])
line = iFile.readline().strip()
iFile.close()
return coord
按如下方式更改您的代码:
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 个节点的结果
也许这会奏效,还有使用上下文管理器保持函数整洁的额外好处。
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