1

这是我要解决的问题:

我有盒子A, B, C, Dand 有球a, b, c, d, e, f, ... - 每个都在上述盒子之一中。所以我知道,例如, balls 、a和are in box 。Balls , , , and are in box等bcdAejpwB

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

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

4

2 回答 2

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)
于 2012-10-23T15:40:06.377 回答
1

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

例如,不清楚同一个盒子里的所有球是否都具有相同的颜色。如果是这样,那么您可以将颜色分配给盒子而不是球,以提高空间效率;但是你想让什么变得高效?

如果您展示了一些代码,则可以省去很多任务。

于 2012-10-23T19:58:27.417 回答