作为Python的新手,我一直在尝试提供代码来构建多维dict / array。

输入数据由csv字段组成,第一行用'
0:版本,1:目标名称,2:产品名称,3:svn版本,4:时间/日期


0:区域名称; 1:开始地址; 2:结束地址; 3:等等。
LOAD_REGION2,0x0000004C,0x000003B4,92.6,7.4
LOAD_REGION2,0x0002152C,0x0001E6D4,47.7,52.3
LOAD_REGION2,0x0002EECC,0x00013034,28.8,71.2

LOAD_REGION2,0x0000004C,0x000003B4,92.6,7.4
LOAD_REGION2,0x00005CEC,0x00039F14,90.9,9.1
LOAD_REGION2,0x00003A78,0x0003E488,94.5,5.5

LOAD_REGION0,0x000000B8,0x00000348,82.0,18.0
LOAD_REGION0,0x0000AD10,0x00014EF0,65.9,34.1
LOAD_REGION1,0x00005244,0x00008CBC,63.1,36.9
LOAD_REGION3,0x00002A50,0x000FD5B0,99.0,1.0
LOAD_REGION3,0x000135B4,0x00000E4C,4.4,95.6
LOAD_REGION3,0x00000000,0x07B00000,100.0,0.0

LOAD_REGION0,0x000000B8,0x00000348,82.0,18.0
LOAD_REGION0,0x00008710,0x000174F0,73.4,26.6
LOAD_REGION1,0x00003B6C,0x0000A394,73.4,26.6
LOAD_REGION3,0x00000208,0x000FFDF8,100.0,0.0
LOAD_REGION3,0x00000000,0x00014400,100.0,0.0
LOAD_REGION3,0x00000000,0x07B00000,100.0,0.0

我想读取每条记录,并使用目标字段的主索引和产品字段的次索引构建一个数组。
[目标名称] [产品名称] [“ 1”] = 7416,1373386517.0,2013-07-09 15:15:17 -0700
[目标名称] [产品名称] [“ 2”] [区域名称] = 0x0000004C,0x000003B4,92.6,7.4

什么是构建字典的正确方法?还是应该使用多维列表数组?

最佳答案

您可以通过使一个字典的值成为另一个字典来构建多维字典。例如,您可能有一个字典,可以像这样访问:

value = d["target K"]["product B"][1]


如:

d = {"target J":{"product A":{0:"example01"}, "product B":{1:"example02"}},
     "target K":{"product B":{1:"example03"}}}


另外,顺便说一句,我将引号中的“ 1”等取了出来,因为整数将用作字典键。

字典的主要限制是键必须是可散列的,特别是不能是字典,但是这里的键可以是字符串或整数,因此可以使用。

关于python - 如何建立多维词典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17960099/

10-12 22:47