以下是我要解决的问题:
我有A
,B
,C
和D
,并且有a
,b
,c
,d
,e
,f
,... - 每个都位于上述框之一。所以我知道,例如,球a
,b
,c
和d
位于框A
中。球e
,j
,p
和w
位于框B
等中。
我正在尝试根据哪个框包含它来为每个球着色,所以我需要一个数据结构来有效地保存和处理这些信息。
我的第一个想法是保留像{'a':'A', 'b':'A',... 'w' : 'B' ...}
这样的字典,如果a
的值为A
,则将他(例如)染成红色,但我不确定这是在这种情况下保持信息的最佳方式。
答案 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。