ちょっと疑問に思うのですが、プログラムで変数に無限の値を格納することにはどのような意味があるのでしょうか? 実際に何か用途があるのでしょうか、また、 を使用する方が望ましいケースはあるのでしょうかfoo = float('inf')
、それとも、単に、単に入れるために挿入した小さなスニペットなのでしょうか?
ベストアンサー1
これは、比較のための無制限の上限値として機能します。これは、何かの最小値を見つけるのに役立ちます。たとえば、ツリーをトラバースするときにパスルートのコストを計算する場合などです。
たとえば、オプションのリストで「最も安い」パスを見つける:
>>> lowest_path_cost = float('inf')
>>> # pretend that these were calculated using some worthwhile algorithm
>>> path_costs = [1, 100, 2000000000000, 50]
>>> for path in path_costs:
... if path < lowest_path_cost:
... lowest_path_cost = path
...
>>> lowest_path_cost
1
利用できない場合はfloat('Inf')
、 にどのような値を使用しますかthe initial lowest_path_cost
?これ9999999
で十分ですfloat('Inf')
。推測する必要がなくなります。