好的,对不起,如果我的问题看起来有点粗糙。我会试着用形象的方式来解释它,我希望这是令人满意的。
10个孩子。
5盒。
每个孩子选择三个盒子。
每个盒子被打开:
- 如果它包含一些东西,所有选择这个盒子的孩子都得到 1 分
- 否则,没有人得到一分。
我的问题是关于我用粗体表示的内容。因为在我的代码中,有很多孩子和很多盒子。
目前,我进行如下操作:
children = {"child_1" : 0, ... , "child_10": 0}
gp1 = ["child_3", "child_7", "child_10"] #children who selected the box 1
...
gp5 = ["child_2", "child_5", "child_8", "child_10"]
boxes = [(0,gp1), (0,gp2), (1,gp3), (1,gp4), (0,gp5)]
for box in boxes:
if box[0] == 1: #something inside
for child in box[1]:
children[child] += 1
我主要担心为每个孩子分配一个额外点的 for 循环。因为在我的最终代码中,我有很多很多孩子,我担心这样做也会减慢程序的速度。
有没有更有效的方法让同一组的所有孩子更快地获得他们的观点?