我在pyspark环境中工作,如果我有两个嵌套列表a和b,
a=[[1,2,3],[8,9,45,0,65],[3,7,23,88],[44,77,99,100,654]]
b=[[1,3,7],[0,9,67,22,45,8,11],[23,3],[100]]
我想要这两个在python中的交集
intersection_list=[[1,3],[8,9,45,0],[3,23],[100]]
而这的最终计数是
list_count=[2,3,2,1]
如何在pyspark中获得此结果?
我试过了
[[[n for n in a if n in b]for x in a]for y in b]
但这并没有给我必要的intersection_list
在pypark中也可以用rdd做到这一点吗?
[[n for n in x if n in y] for x, y in zip(a, b)]
但是,如果子列表很大,那会更好:
[set(x).intersection(y) for x, y in zip(a, b)]
(尽管元素的顺序丢失了)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句