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)进行比较,然后在语句为真时使用计数器,但是我认为可能有更简单的方法要做到这一点,可能有一个很好的单线。
>>> 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])
好吧,我不确定这很好,但它是一行;-)
len(set([9,20,413,425]).intersection(range(34,566)))