ジェネレータとイテレータを使用するコードをデバッグする方法を教えてください。私は、ループにprint
文を追加すると、ジェネレータ/イテレータを消費するため、残りのコードが壊れることがわかりました。要素を消費することなく、ジェネレータ/イテレータの "内容"を検査することは可能ですか?今、私はresult
が何であるかを見てみたいデバッグジェネレータとイテレータ
result = map(func, x)
:
は具体的には、私はこのような何かを持っています。私はまた、result
の各要素に関数を適用して返される値を見たいと思っています。私の実際のコードでは、私はこの関数の最小値を与えるresult
の要素を取得しています:
best = min(result, key=my_key)
今min()
は非常に便利ですが、私は間違った振る舞いを取得し、その理由を把握する必要がありますしています。このようなものをデバッグするために使用できるツールとは何ですか?
P.S.私はPyCharmを使用しています。私はインタラクティブなデバッガにはかなり慣れていますが、ここで起こっているすべてのことを見る方法を理解することはできません。