【发布时间】:2016-09-07 13:19:03
【问题描述】:
我正在尝试读取文件并将其内容写入元组列表。每个元组的长度是 2,列表的长度是可变的,具体取决于我们从哪个文件读取。每个元组应该代表 x, y 平面中的一个点,第一个值是 x 坐标,第二个值是 y。我遇到的问题是,我认为 for 循环是执行此操作的最佳方法,但文件中的第一行是一个值,表示文件中有多少点,根本不应该包含在最终列表中。
def readDataPts(filename):
"""Reads data from an input file and returns a list of tuples
[(x0,y0), (x1, y1), ...]
"""
file = open(filename, 'r')
lines = file.readlines()
listPts = []
for line in lines:
for ptx, pty in line:
x = (ptx, pty)
listPts.append(x)
return listPts
输入的一个例子是:
10
96 571
45 734
174 416
357 259
88 97
188 495
348 443
301 503
719 177
182 237
输出应该是:
[(96, 571), (45, 734), (174, 416), (357, 259), (88, 97).....]
有没有办法从第二行开始 for 循环?还是有更简单的方法来解决这个问题?
谢谢
【问题讨论】:
标签: python list file for-loop tuples