查找列表中在指定范围内的元素数量(Python)

7

我有一个元素(整数)列表,需要快速检查有多少元素在指定范围内。以下是示例。

范围从34到566。

l = [9,20,413,425]

结果为2。

当然,我可以使用简单的for循环来比较每个元素与最小值和最大值(34<x<566),如果语句为真,则使用计数器,但我认为可能有更简单的方法来完成这个任务,可能是通过漂亮的一行代码。

3个回答

14
>>> l = [9,20,413,425]
>>> sum(34 < x < 566 for x in l)
2

9

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


2

我不确定这是否好,但这只是一行代码 ;-)

len(set([9,20,413,425]).intersection(range(34,566)))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接