double型の配列
L = [1.2, 2.5, 3.9, 4.2]
があるとき,
ある範囲[1.5~2.5]がリストに含まれるか([2-0.5 ~ 2+0.5])
を判定したいです.
範囲ではない整数の時はよく
数字 in リスト or 数字 not in リスト
のようなin関数?を用いていましたが,
範囲[1.5~2.5] in リスト
のようなやり方ができず困っています.
ご教示願います.
> double型の配列
Pythonにdouble型はありましたか?他の言語の間違いでしょうか?
申し訳ございません,リスト型の配列でした.
中の要素はdouble型です.
Pythonの場合、floatかと思います。https://docs.python.org/ja/3/library/stdtypes.html#typesnumeric
具体的にどのようなコードを書かれてダメだったかを質問に記載した方が良いのではないでしょうか。
例えば範囲[1.5~2.5]と言うのもPythonでどのようにコーディングされたのか分かりません。
無理に in を使わず、単純にリストLの最小値 min(L)と最大値 max(L)、範囲の最小値、範囲の最大値を比較すれば、良い気がします。
上の方も言っていますが、「範囲[1.5~2.5] in リスト」というのがどういう状態のときにtrueになるのかが明確ではありません。
リストの中の値がすべてその範囲に入っている? 範囲にある何かがリストにある?よくわかりません。
「数字 in リスト」は明確です。 その数字そのものがリストの要素であるかどうかです。
申し訳ございません.
L = [1.2, 2.5, 3.9, 4.2]
0.5 < Z < 1.5のとき
Z in L は
1.2の要素が[0.5,1.5]の範囲内に含まれているので
trueになります.
もう1つの例として,
5.5 < Z < 6.0の場合,
リストLには[5.5, 6.0]の間の値の要素が含まれないので
falseになります.
回答2件
あなたの回答
tips
プレビュー