我需要一个合适的Python数据结构

时间:2012-10-23 15:18:58

标签: python data-structures python-2.7

以下是我要解决的问题:

我有ABCD,并且有abcdef,... - 每个都位于上述框之一。所以我知道,例如,球abcd位于框A中。球ejpw位于框B等中。

我正在尝试根据哪个框包含它来为每个球着色,所以我需要一个数据结构来有效地保存和处理这些信息。

我的第一个想法是保留像{'a':'A', 'b':'A',... 'w' : 'B' ...}这样的字典,如果a的值为A,则将他(例如)染成红色,但我不确定这是在这种情况下保持信息的最佳方式。

2 个答案:

答案 0 :(得分:2)

另一种方法是保持一个字典,其中框作为键,一组球作为值:

boxes = { 'A' : set('a', 'b', 'c', 'd'), 'B' : set('e', 'j', 'p'), ... }

然后你可以迭代键并用相同的颜色为相应组中的所有球着色。

for box in boxes:
    for ball in boxes[box]:
        color(ball, box)

答案 1 :(得分:1)

什么是有效的取决于你在做什么以及你经常做什么。您的问题中没有太多信息可以猜测。

例如,目前尚不清楚同一盒子中的所有球是否具有相同的颜色。如果是这样,那么你可以将颜色分配给盒子而不是球,以提高空间效率;但是你想提高效率呢?

如果你展示了一些代码,可以省去很多quesswork。