在Python中附加列表的问题

时间:2017-04-22 14:37:53

标签: python list numpy append

我每三秒钟收到一些POST data(正好是384行)。这些存储在名为data的列表中。然后我想将它们存储在列表helper中,每次POST后都会附加data。现在我想检查图中的数据,所以我需要将helper转换为numpy数组,称为myArr

data = json.loads(json_data)["data"] #I get some data
helper=[] #Then create list
helper.append(data) # And here I would like to add values to the end
myArr=np.asarray(helper)

self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
self.wfile.write("") 


print (len(data))
print(type (data))
print (len(helper))
print(type (helper))
print (len(myArr))
print(type (myArr))
print data

但是当我执行代码时,长度不一样:

>>384
>><type 'list'>
>>1
>><type 'list'>
>>1
>><type 'numpy.ndarray'> 

列表data内容如下所示:

[[0.46124267578125, 0.0545654296875, 0.89111328125, 0.0, 0.0, 0.0, 0.0],
[0.46124267578125, 0.0545654296898, 0.89111328125, 0.0, 0.0, 0.0, 0.0],
[0.46124267578125, 0.0545654296875, 0.89111328125, 0.0, 0.0, 0.0, 0.0],
[0.4637451171875, 0.05804443359362, 0.8892822265625, 0.0, 0.0, 0.0, 0.0],
[0.4637451171875, 0.05804443359301, 0.8892822265625, 0.0, 0.0, 0.0, 0.0],
[0.4637451171875, 0.05804443359375, 0.8892822265625, 0.0, 0.0, 0.0, 0.0],
[etc.]]

我认为列表的维度存在问题,我无法弄清楚。

1 个答案:

答案 0 :(得分:1)

您有一个列表,您可以在其中附加另一个列表,为您提供一个包含一个项目的嵌套列表。简单的演示:

>>> data = [1,2,3]
>>> helper = []
>>> helper.append(data)
>>> helper
[[1, 2, 3]]
>>> len(helper)
1

我无法从您的问题中找出为什么您需要helper列表,而是制作(浅层)复制问题helper = data[:]helper.extend(data)。由于我不确定你要从哪里开始,我现在将这个答案留给你,告诉你为什么你的helper列表有一个元素。