こんにちは、MySQLデータベース内のさまざまなレコードをカウントし、その数をリストに保存するループがあります。リストは次のとおりです。
[1L, 2L, 2L, 5L, 4L, 1L, 1L, 1L, 3L, 1L, 1L, 2L, 2L, 3L, 3L, 1L, 2L, 4L, 2L, 1L, 3L, 1L, 2L, 4L, 1L, 2L, 1L, 1L, 3L, 1L, 3L, 1L, 5L, 2L, 1L, 1L, 5L, 1L, 1L, 1L, 4L, 2L, 1L, 3L, 2L, 1L, 2L, 2L, 2L, 3L, 1L, 1L, 3L, 2L, 2L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 3L, 3L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L]
今、私はこのリストを通り抜け、単一の数字(1L、2Lなどを意味する)だけを残したいのですが、このループを使用しています:
for number in legend:
print number # to check what number it does currently
counter = legend.count(number)
while counter > 1:
legend.remove(number)
counter -= 1
次に、1、2、3、4、3、2、1をチェックしていることがわかります...それはなぜですか?なぜこのループは5番をチェックしないのですか?最後に、リストは次のようになります。
[5L, 5L, 5L, 4L, 3L, 2L, 1L]
それはそれが機能することを意味しますが、なぜそれは5番に行かないのですか?
事前にthx