2017-04-22 168 views
1

我每三秒鐘收到一些POST data(正好是384行)。這些存儲在名爲data的列表中。然後我想將它們存儲在列表helper中,每次POST後都會附加data。現在我想檢查圖中的數據,所以我需要將helper轉換爲numpy數組,這就是所謂的myArr在Python中追加列表的問題

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 

但是,當我執行的代碼中,lenghts是不一樣的:

>>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

如果你想連接列表,你可以簡單地做''list_c = list_a + list_b''或者你的情況''helper + = data'' –

回答

1

您有一個列表,您可以追加另一個列表,爲您提供一個嵌套列表。簡單的演示:

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

我無法從你的問題弄清楚爲什麼你需要的helper名單可言,但做一個(淺)拷貝問題helper = data[:]helper.extend(data)。既然我不確定你要從哪裏出發,我會留下這個答案,告訴你爲什麼你的列表只有一個元素。

+0

謝謝你的回答,我現在看到,我正在創建一些列表中的金字塔排序:D –