我通过将一些旧的脚本从PHP转换为Python来学习Python,而且我仍然坚持用PHP解决的问题。
我有3个数据列表(通过SNMP获取)。在PHP中,我像这样存储它们:
$array['12345']['user'] = 'example@example.com';
$array['12345']['int_id'] = 1;
$array['12345']['int_speed'] = 1238745;
$array['51245']['user'] = 'example@example.com';
$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 :(得分:0)
这里根本没有任何列表;这只是一个嵌套的词典。语法与PHP中的语法几乎相同。
data = {}
for user_id in user_data:
data[user_id] = {}
data[user_id]['int_id'] = 1
data[user_id]['user'] = 'foo@bar.com'
# or more simply
data[user_id] = {'user': 'foo@bar.com', 'int_id': 1}