私は、条件付きのステートメントでネストされたforループを実行しようとしています。それを実行するとき、私は条件文で定義した文を出力することを期待しています。しかし、何も印刷されません。 (それは無期限に実行されません)。 Pokemons_gymsは文字列のリストです。 Playersは辞書です。私はelse: continue
を追加しようとしましたが動作しません。私はそうgym == players[players_id]['gyms_visited']
は常にFalse
に評価リストを返す 入れ子になったforループの予期しない結果 - Python
pokemon_gyms = ['reddit.com', 'amazon.com', 'twitter.com',
'linkedin.com', 'ebay.com','netflix.com',
'udacity.com','stackoverflow.com','github.com',
'quora.com']
players= {
1: {
'gyms_visited': ['amazon.com', 'ebay.com']
}
2:{
'gyms_visited' : ['stackoverflow.com','github.com']
}
}
for gym in pokemon_gyms:
for players_id in players:
if gym == players[players_id]['gyms_visited']:
print(str(players[players_id]['player_name']) +" has visited "+ str(gym))
...
はそれぞれ「is」および「evaluate to」です。 「戻る」ではありません。ここには返品はありません。 –
@BoundaryImposition - 多分。十分に低いレベルでは、 '__getitem__'が返すものについて話しています。戻り値はここにあります。明示的ではありません。 – mgilson
@mgilson:heh nice maneuvering。それでも、ある関数からの復帰によって "X"が生成されたとしても、 "XはYを返す"とは言っても間違いです。 –