统计一个List中符合条件的元素个数
时间: 2024-03-17 07:44:49 浏览: 31
好的,我可以帮你解决这个问题。你可以使用Python内置的函数`filter()`和`len()`来实现这个目标。具体的代码如下:
```python
my_list = [1, 2, 3, 4, 5, 6]
count = len(list(filter(lambda x: x % 2 == 0, my_list)))
print(count)
```
上述代码中,`filter()`函数会对`my_list`中的每个元素应用一个匿名函数,这个函数会判断当前元素是否符合条件,即是否为偶数。`filter()`函数会返回一个迭代器,其中包含符合条件的元素。`list()`函数会将迭代器转换成一个列表,然后使用`len()`函数统计列表元素的个数。最终的结果即为符合条件的元素个数。
如果你想统计不同的条件下符合条件的元素个数,只需要修改lambda函数即可。
相关问题
Java统计一个List中符合条件的元素个数
好的,我可以帮你解决这个问题。在Java中,你可以使用Stream API中的`filter()`和`count()`方法来实现这个目标。具体的代码如下:
```java
List<Integer> myList = Arrays.asList(1, 2, 3, 4, 5, 6);
long count = myList.stream().filter(x -> x % 2 == 0).count();
System.out.println(count);
```
上述代码中,`filter()`方法会对`myList`中的每个元素应用一个lambda表达式,这个表达式会判断当前元素是否符合条件,即是否为偶数。`filter()`方法会返回一个新的Stream对象,其中包含符合条件的元素。`count()`方法会统计Stream对象中元素的个数,最终的结果即为符合条件的元素个数。
如果你想统计不同的条件下符合条件的元素个数,只需要修改lambda表达式即可。
java stream流过滤出符合条件的数据并统计个数
假设有一个包含多个人员信息的列表,需要使用Java Stream流过滤出年龄大于等于18岁的人员信息,并统计个数。代码如下:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Person> personList = new ArrayList<>();
personList.add(new Person("Tom", 20));
personList.add(new Person("Jerry", 16));
personList.add(new Person("Alice", 18));
personList.add(new Person("Bob", 25));
personList.add(new Person("John", 30));
long count = personList.stream()
.filter(person -> person.getAge() >= 18)
.count();
System.out.println("符合条件的人员个数为:" + count);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
输出结果为:
```
符合条件的人员个数为:4
```
在上述代码中,使用了Java 8中新增的Stream流对人员列表进行筛选过滤。首先使用`stream()`方法将列表转换为一个流,并使用`filter()`方法对流中的元素进行筛选,筛选条件为年龄大于等于18岁。最后使用`count()`方法统计筛选后的元素个数。