2013-07-31 2 views
1

Будучи новым для Python, я пытаюсь придумать код для построения многомерного dict/array.Как построить многомерный словарь

Входные данные состоят из полей csv с первой строкой, обозначенной символом '<'. Мне нужно ввести на "цели" и "продукта" поля:

0: об, 1: имя цели, 2: название продукта, 3: Svn оборотов, 4: время/дата < 1, баран, Катмай, 7416,1373386517.0,2013-07-09 15:15:17 -0700>

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 < 1, ром, Катмай, 7416,1373386517.0,2013-07-09 15:15:17 -0700>LOAD_REGION2,0x0000004C, 0x000003B4,92.6,7.4 LOAD_REGION2,0x00005CEC, 0x00039F14,90.9,9.1 LOAD_REGION2,0x00003A78,0x0003E488,94.5,5.5 < 1, барана, ТОСТЕР, 7416,1373386517.0,2013-07-09 15:15 : 17 -0700> 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 < 1, ром, ТОСТЕР, 7416,1373386517.0,2013-07-09 15:15:17 -0700> 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

Что было бы правильным способом для создания словаря? Или я должен использовать многомерный массив списка?

ответ

1

Вы можете построить многомерный словарь, указав значение словаря в качестве словаря. Например, вы могли бы иметь словарь, который вы можете получить доступ к следующим образом:

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», и т.д., из цитаты, как целые числа будут работать как словарные ключи.

Основное ограничение на словари состоит в том, что ключи должны быть хешируемыми, в частности, не быть словарями, но здесь они являются либо строками, либо целыми числами, поэтому они будут работать.

Смежные вопросы