Pythonのif文とのfor文
ちょっと面白かったので書いておく。
PHPとかだとif文って基本的にはこんな感じで書くけど
# if 文 if ( $a == $b ){ echo $a; } # for文 for ($i=0;$i<10;$i++){ echo $i }
Pythonではif文やfor文こんな形で書けるらしい。
sum_of_squares=sum([pow(prefs[person1][item]-prefs[person2][item],2) for item in prefs[person1] if item in prefs[person2]])
ややこしいけどprefs[person1]の中身をforで回して、
同様のアイテムがprefs[person2]に存在した場合に、
互いの差の二乗を足していく
といった処理を行っている・・・・のだろう・・・(゚ω゚ )
まだ確証はない。
forで回して出しているpow(prefs[person1][item]-prefs[person2][item]
の部分がリストのような戻り値?になっているからsumで処理できんだろうな。
一度変数に納めないでforでの表現でリストを表現できるというのはベンリかもしれない。
ひじょーにとっつきづらいけど・・・・。