Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python将文件读入数组,值错误_Python_Arrays_Io - Fatal编程技术网

Python将文件读入数组,值错误

Python将文件读入数组,值错误,python,arrays,io,Python,Arrays,Io,下面是代码,我试图逐行读取一个文件,并将值写入相应的数组中,但是,当我打印感应时,它确实包含很多元素,但它们的值是最后一次修剪的 data.txt:[592180]、[583189]、[576197]、[569205]、[560214]、[551225] 传感:[[551225],[551225],[551225],[551225],[551225],[551225],[551225]] 我想要的:感知:[[592180],[583189],[576197],[569205],[560214],

下面是代码,我试图逐行读取一个文件,并将值写入相应的数组中,但是,当我打印感应时,它确实包含很多元素,但它们的值是最后一次修剪的

data.txt:[592180]、[583189]、[576197]、[569205]、[560214]、[551225]

传感:[[551225],[551225],[551225],[551225],[551225],[551225],[551225]]


我想要的:感知:[[592180],[583189],[576197],[569205],[560214],[551225]。

这里的问题几乎肯定有参考文献。Python中的列表和大多数对象都保存在引用变量中。感测中的每个列表都指向内存中您称之为trimmed的列表。更改修剪后,传感中的所有子列表都会更新,因为它们都指向该列表


您需要使用trimmed=[None,None]重新定义循环中的每个trimmed迭代,或者您可以使用类似sensing[-1]的东西直接附加到感测列表中。appendelement和sensing.append[]添加一个新列表。

假设输入行是:[592180],[583189],[576197],[569205],[560214],[551225]

sensing = []
with open("data.txt") as data:
    for line in data:
        sendsing = [map(int, i.split(", ")) for i in line.strip()[1:-1].split("],[")]

首先在哪里定义修剪变量?它不在代码中。列表是可变的,所以如果您在这个循环之外定义trimmed并重用它,您将得到您概述的结果。。。在循环内移动修剪。非常感谢您的解释。
sensing = []
with open("data.txt") as data:
    for line in data:
        sendsing = [map(int, i.split(", ")) for i in line.strip()[1:-1].split("],[")]