In Python, I have a list of different size arrays. I would like to know the intersection for all arrays contained in the list. For instance:
import numpy as np
array0 = [0,1,2,3,4,5,6]
array1 = [0,2,3,5,6,7,8,9,10]
array2 = [4,5,6]
array3 = [5,6,7,8,9,10,11,12,13]
array_list = [array0, array1, array2, array3]
I want to use a function like np.intersect1d
across all of the arrays in array_list
and get the intersection across all data arrays. From a quick glance, the answer would be
intersection = np.array([5,6])
I've tried using list comprehension, something like:
np.intersect1d([arraylist[x] for x in np.arange(len(arraylist))]),
but Numpy expects 2 arguments instead of the one I'm providing. For a similar reason,
list(filter(lambda x:x in [x for x in arraylist]))
will not work -- filter
expects 2 arguments, and is only getting one.