3

次のように、リスト内包表記によって、整数で満たされたリストのすべての要素を別の整数 (numpy 配列のような機能) で分割しようとしています。

results = 300 * [0]
for i in range(100):
    for j in range(300):
        results[j] += random.randrange(0,300)
average_results = [results[x] / 100 for x in results]

ただし、これを Python で実行すると、

IndexError: list index out of range

通常の for ループを使用して、これを回避しました。

average_results = []
for x in results:
    average_results.append(x/100)

これは魅力のように機能します。

しかし、私の考えでは、2 つのアプローチは同じ結果をもたらすはずなので、なぜそれがうまくいかないのか、私は完全に困惑しています。

誰かが私を正しい方向に向けることができますか?

4

5 に答える 5