2013-02-17 160 views
2

我想定义一个结构,可以创建一个一对多的关系,排序。例如,假设一个名为“ACO”的组织有一些东西:与许多阵列哈希

KEY_PERF_INDS = [ {'ACO' => [2,3,4] , [2,34,5]} ] 

但是这在语法上是错误的。有没有可能写出能够实现这个目标的东西?

+1

是'ACO'应该是子阵列的阵列? ''ACO'=> [[2,3,4],[2,34,5]]' – 2013-02-17 19:24:13

+0

是啊,看起来不错。所以我希望能够有一个结构说ACO ..这些......“医院”......那些......“BLAH”......这些......所以我需要一层围绕着你所以我有更多类似“ACO”的东西,它们本身就有很多东西,比如那些在ARRY中的数字 – Bohn 2013-02-17 19:26:22

+1

'HOSPITAL,BLAH'与'ACO'处于同一水平?这就是散列中的更多关键......'[{'ACO'=> [[2,3,4],[3,4,5]],'HOSPITAL'=> [[1,2,3], [9,8]]}]' – 2013-02-17 19:30:36

回答

2

如果其它基团HOSPITAL, BLAH, ETC(每评价)均是在相同的水平ACO,然后整个结构KEY_PERF_INDS应该是散列{}而非阵列[]。使每个元素成为主散列的关键字,并且每个元素都是包含子数组的数组。

# The main structure is a hash {} 
KEY_PERF_INDS = { 
    'ACO' => [ 
    [1,2,3], 
    [4,5,6] 
    ], 
    'HOSPITAL' => [ 
    [3,2,1], 
    [9,8,7] 
    ], 
    'BLAH' => [ 
    [99,88], 
    [11,22], 
    [33,44] 
    ] 
} 

访问这些然后为:

KEY_PERF_INDS['HOSPITAL'][1][2] 
# prints 7 

KEY_PERF_INDS['BLAH'].last.first 
# prints 33 
+0

正是我所期待的。谢谢 – Bohn 2013-02-17 20:22:20