python – 至少冻结x个元素
发布时间:2020-12-20 13:00:10 所属栏目:Python 来源:网络整理
导读:我目前有这个代码,它检查数组中的所有元素是否相同.如果是这种情况,请返回true def all_equal(lst): """ all_equal([1,1,1]) True all_equal([1,2,3,1]) False """ return len(frozenset(lst)) == 1 但我想要检查的是,是否至少有5个相同的元素. 以便 [1,2]
我目前有这个代码,它检查数组中的所有元素是否相同.如果是这种情况,请返回true
def all_equal(lst): """ >>> all_equal([1,1,1]) True >>> all_equal([1,2,3,1]) False """ return len(frozenset(lst)) == 1 但我想要检查的是,是否至少有5个相同的元素. 以便 [1,2] 将返回True以及.因为有5次1 解决方法
使用
bag or multiset type而不是使用集合.多重集合计算唯一值出现的次数.
在Python中,这是 from collections import Counter def all_equal(lst): bag = Counter(lst) if any(v >= 5 for v in bag.itervalues()): # an element occurred at least 5 times # (use bag.values() if using Python 3) return True return False (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |