7

要素(整数)のリストがあり、このリストの要素が指定された範囲内にあるかどうかをすばやく確認する必要があります。例を以下に示します。

範囲は34〜566です

l = [9,20,413,425]

結果は2です。

もちろん、目的のために単純なforループを使用して、各要素を最小値と最大値(34 <x <566)と比較し、ステートメントがtrueの場合はカウンターを使用することもできますが、もっと簡単な方法があると思います。これを行うには、おそらく素敵なワンライナーを使用します。

4

3 に答える 3

13
>>> l = [9,20,413,425]
>>> sum(34 < x < 566 for x in l)
2
于 2012-05-16T09:15:20.350 に答える
9

len([x for x in l if x > 34 and x < 566])

于 2012-05-16T09:10:33.713 に答える
2

これがいいかどうかはわかりませんが、1行です;-)

len(set([9,20,413,425]).intersection(range(34,566)))
于 2012-05-16T09:10:34.373 に答える