Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
要素(整数)のリストがあり、このリストの要素が指定された範囲内にあるかどうかをすばやく確認する必要があります。例を以下に示します。
範囲は34〜566です
l = [9,20,413,425]
結果は2です。
もちろん、目的のために単純なforループを使用して、各要素を最小値と最大値(34 <x <566)と比較し、ステートメントがtrueの場合はカウンターを使用することもできますが、もっと簡単な方法があると思います。これを行うには、おそらく素敵なワンライナーを使用します。
>>> l = [9,20,413,425] >>> sum(34 < x < 566 for x in l) 2
len([x for x in l if x > 34 and x < 566])
これがいいかどうかはわかりませんが、1行です;-)
len(set([9,20,413,425]).intersection(range(34,566)))