私はそれに慣れていないので、次のpythonコードを理解しようとしています。
import random
howMany = random.randint(0,1000)
stats = {}
for i in range(howMany):
value = random.randint(0,500)
stats.setdefault(value,0)
stats[value]+=1
for item in stats:
if stats[item] > 1:
print item
これが私がこれまでに理解したことです。私の質問はその後に続きます。
howMany
0 と 1000 の間で生成された乱数を格納します。stats = {}
空の辞書を宣言しますi
の値に応じて実行されますhowMany
。たとえば、howMany
が 2の場合、値がとi
で 2 回実行されます。0
1
value
変数は、0
&の間の乱数を格納します。500
わからなかった
stats.setdefault(value,0)
。たとえば、value
変数に値がある場合4
、それstats.setdefault(4,0)
は何を意味するのでしょうか?何をし
stats[value]+=1
ますか?の展開形stats[value]+=1
はstats[value] = value + 1
?次の段落を理解しました。
for item in stats: if stats[item] > 1: print item
ディクショナリよりも大きい値が出力されます
1
。stats
どこか間違っている場合は修正してください。