我想把我的文本文件中的每一行都按空格字符“ ”分成三部分,并将这些三个部分组成一个列表,对于每一行,然后将所有这些列表组合成一个更大的列表。
我的文本文件:
我的代码:
我希望输出的结果是这样的:
但我得到的是这个:
这句话的意思是:“有人知道如何修复这个问题吗?在此先谢过。”
我的文本文件:
1998/04/20 17:38:51.604 16.863014
1998/04/20 17:38:52.204 1.947639
1998/04/20 17:38:54.404 27.278648
1998/04/20 17:39:02.605 0.325151
1998/04/20 17:39:04.705 7.002871
我的代码:
dataList = []
metaData = ['', '', '']
with open('data.txt', 'r') as myTxt:
for line in myTxt:
metaData[0] = line.split(' ')[0]
metaData[1] = line.split(' ')[1]
metaData[2] = line.split(' ')[2]
dataList.append(metaData)
print(dataList)
我希望输出的结果是这样的:
[[1998/04/20, 17:38:51.604, 16.863014],
[1998/04/20, 17:38:52.204, 1.947639],
[1998/04/20, 17:38:54.404, 27.278648],
[1998/04/20, 17:39:02.605, 0.325151],
[1998/04/20, 17:39:04.705, 7.002871]]
但我得到的是这个:
[[1998/04/20, 17:39:04.705, 7.002871],
[1998/04/20, 17:39:04.705, 7.002871],
[1998/04/20, 17:39:04.705, 7.002871],
[1998/04/20, 17:39:04.705, 7.002871],
[1998/04/20, 17:39:04.705, 7.002871]]
这句话的意思是:“有人知道如何修复这个问题吗?在此先谢过。”
dataList
实际上是填充了对metadata
的引用。请注意,metadata
本身没有被重新分配到新的列表中。它始终指向内存中的同一位置。只有它的值在改变。因此,由于它们都引用内存中的同一个列表,dataList
中的旧值将与metadata
同时更改。 - SacrificerXY