【发布时间】:2015-06-10 11:47:36
【问题描述】:
以下是代码,我试图逐行读取文件并将值相应地写入数组,但是,当我打印 sensing 时,它确实包含很多元素,但是它们的值是最后一次修剪。
sensing = []
with open("data.txt") as data:
for line in data:
strline = line.strip()
if(strline[1] =='[' ):
trimmed[0] = int(strline[2:5])
trimmed[1] = int(strline[7:10])
else:
trimmed[0] = int(strline[1:4])
trimmed[1] = int(strline[6:9])
**sensing.append(trimmed)**
data.txt: [592, 180],[583, 189],[576, 197],[569, 205],[560, 214],[551, 225],
感应:[[551, 225], [551, 225], [551, 225], [551, 225], [551, 225], [551, 225]]
我想要什么:感应:[[592, 180],[583, 189],[576, 197],[569, 205],[560, 214],[551, 225]]
【问题讨论】:
-
您首先在哪里定义“修剪”变量?它不在那个代码中。
-
列表是可变的,所以如果你在这个循环之外定义了 trimmed 并重用它,你会得到你概述的结果......在循环内移动 trimmed。