stream把list中多个对象字段合并
时间: 2023-10-08 10:04:44 浏览: 132
Java中对List去重 Stream去重的解决方法
可以使用Python的zip函数和*运算符来实现将多个对象的字段合并到一个stream中。
例如,给定以下三个对象:
```
obj1 = {'name': 'John', 'age': 30}
obj2 = {'name': 'Jane', 'age': 25}
obj3 = {'name': 'Bob', 'age': 40}
```
我们可以先将它们放到一个列表中:
```
objs = [obj1, obj2, obj3]
```
然后使用zip和*运算符将它们的字段合并到一个stream中:
```
stream = zip(*[obj.values() for obj in objs])
```
这将产生一个stream,其中每个元素都是一个元组,包含每个对象的字段值。在上面的例子中,stream将包含以下元组:
```
('John', 'Jane', 'Bob')
(30, 25, 40)
```
注意,在上面的代码中,我们使用了列表推导式将每个对象的值提取到一个列表中,并将这些列表作为参数传递给zip函数。*运算符会将这些列表解包成多个参数,zip函数会将它们相应的元素合并到一个元组中。
阅读全文