わかりました、私の問題が少し荒いようでしたら申し訳ありません。比喩的な方法で説明しようと思いますが、これで満足できることを願っています。
10人の子供。
5箱。
各子供は 3 つの箱を選びます。
各ボックスが開かれます:
- 何かが入っている場合、このボックスを選択したすべての子供が 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 ループについて心配しています。最終的なコードには多くの子が含まれているため、そうするとプログラムの速度も低下するのではないかと心配しています。
同じグループのすべての子供たちが自分の主張をより速く理解できるようにするためのより効率的な方法はありますか?