2017-01-17 20 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)のリストが取得されます。つまり、配列の最初の部分を設定できます。私は、Pythonの上でこの動作を再現しようとすると

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

はかなりトリッキーになってきている:私は、データの他の二つのリストを処理することができ、およびPHPで、彼らは(おそらく、foreachの中で)そのように割り当てられることと思います私がしたいと思っているのは、リストの辞書を作ることです。しかし、私はこれらのリストをどのように追加/編集するか、アレイの各レイヤーのすべての値を順番に調べる方法についてはわかりません。

答えて

0

ここにはリストはまったくありません。これはちょうどネストされたdictです。構文は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を拾うだけです。 –

関連する問題