2013-07-31 4 views
1

파이썬에 익숙하지 않은 나는 다차원 딕트/배열을 만드는 코드를 생각해 봤다.다차원 사전을 만드는 법

입력 데이터는 첫 번째 줄이 '<'문자로 표시된 csv 필드로 구성됩니다. 나는 "대상"과 "제품"필드에 키 입력해야합니다

0 : 회전, 1 : 타겟 명, 2 : 제품 이름, 3 : svn을 회전, 4 : 시간/날짜 < 1, 램, 케트 마이, 7416,1373386517.0,2013-07-09 15시 15분 17초 -0700>

0 : 지역 이름, 1 : 시작 ADDR, 2 단 ADDR, 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, ROM, 케트 마이, 7416,1373386517.0,2013-07-09 15시 15분 17초 -0700> 01,235,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, RAM, 토스터, 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, ROM, 토스터, 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,0x00014400100.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"}}} 

을, BTW, 나는 "1", 등, 따옴표에서, 정수로했다 사전 키로 작동합니다.

사전에 대한 주된 제한 사항은 키가 해시 가능해야한다는 것입니다. 특히 사전이 아닌 키는 문자열 또는 정수이므로 작동합니다.