python中的“MOSTOF”

2024-04-23 10:32:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个元素列表:

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

现在我要执行一个操作,它给出了第三个列表z中“大部分”元素存在的列表:

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

我想这样做,即返回z中包含“大部分”项的列表,而不是返回z中包含任何元素的列表。。你知道吗

如果列表不可能,我也可以使用元组或集合。。。你知道吗

编辑:

样品:

mostOf(z) -> x

因为x包含z中的大部分值


Tags: 元素编辑列表样品primes元组mostof
1条回答
网友
1楼 · 发布于 2024-04-23 10:32:12

使用集合,可以查看交叉点的大小。。。你知道吗

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

如果要检查列表的列表:

iterable = (x,y)

您可以从1获得具有最大交点的iterable:

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

list_with_biggest_intersection = max(iterable,key = cmp_key)

贾米拉克从现在删除的答案中偷来的

相关问题 更多 >