2017-01-17 76 views
1

我通過將一些舊腳本從PHP轉換爲Python來學習Python,並且我堅持我可以在PHP中解決的一些問題。具有命名鍵的多維數組?

我有3個數據列表(通過SNMP獲取)。在PHP中,我像這樣存儲它們:

$array['12345']['user'] = '[email protected]'; 
    $array['12345']['int_id'] = 1; 
    $array['12345']['int_speed'] = 1238745; 

    $array['51245']['user'] = '[email protected]'; 
    $array['51245']['int_id'] = 2; 
    $array['51245']['int_speed'] = 5151244; 

因爲我有3個列表,我正在做3組處理。第一次運行獲取所有用戶名和用戶ID(上面的12345/51245)的列表,這意味着我可以設置數組的第一部分。然後我就可以處理的數據的其他兩個列表,並在PHP他們會被分配像這樣(在foreach,大概):

$array[$user_id]['int_id'] = $int_id; 
    $array[$user_id]['int_speed'] = $int_speed; 

試圖複製在Python的這種行爲變得相當棘手,我假設我想要做的是創建一個列表字典?但後來我不知道如何添加/編輯這些列表或循環訪問它們,從而依次獲取數組中每個圖層的所有值。

回答

0

這裏似乎沒有任何列表;這只是一個嵌套的字典。和PHP的語法幾乎相同。

data = {} 
for user_id in user_data: 
    data[user_id] = {} 
    data[user_id]['int_id'] = 1 
    data[user_id]['user'] = '[email protected]' 

    # or more simply 
    data[user_id] = {'user': '[email protected]', 'int_id': 1} 
+0

謝謝,我不知道我爲什麼這麼掙扎。我一直在做PHP多年,但只是拿起Python。 –