«МОСТ-О» в python

У меня есть список элементов:

x = [1,3,5,7,9] y = [2,4,6,8,0] 

Теперь я хочу выполнить операцию, которая дает мне список, в котором существуют «MOST OF» элементов в третьем списке z:

 z = [2,3,5,7] #primes 

Я хочу сделать это так, чтобы список с «MOST OF» элементов в z возвращался, а не список с любым элементом в z ..

Если это невозможно в списках, я готов работать с кортежами или наборами …

РЕДАКТИРОВАТЬ :

образец:

 mostOf(z) -> x 

поскольку x содержит большинство значений в z

работая с наборами, вы можете посмотреть размер пересечения …

  zset = set(z) if len(zset.intersection(x)) > len(zset.intersection(y)): ... 

Если у вас есть итеративный список, чтобы проверить:

 iterable = (x,y) 

Вы можете получить итерацию с самым большим пересечением от 1 :

 def cmp_key(lst): itersect_size = len(zset.intersection(lst)) return intersect_size,-len(lst) list_with_biggest_intersection = max(iterable,key = cmp_key) 

1 Украден из теперь удаленного ответа Джамилака