, any() :
def has_duplicates(seq):
return any(seq.count(x) > 1 for x in seq)
:
>>> has_duplicates([1, 1, 2])
True
>>> has_duplicates([1, 2, 2])
True
>>> has_duplicates([1, 2, 3])
False
, , :
any(seq.count(x) == 2 for x in seq)
, , , , :
def any_n(iterable, n):
seen = 0
for value in iterable:
if value:
if seen >= n:
return False
else:
seen += 1
return seen == n
def has_one_value_repeated_n_times(seq, n):
return any_n((seq.count(x) == n for x in seq), n)
:
tests = [
[1,2,2,3,3,3,4,4,4,4,5,5,5,5,5],
[1,2,2,3,3,4,4,4,4,5,5,5,5,5],
[1,2,2],
[1,1,2],
[1,2,3],
]
for test in tests:
print(test, "-", has_one_value_repeated_n_times(test, 2))
:
[1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5] - True
[1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5] - False
[1, 2, 2] - True
[1, 1, 2] - True
[1, 2, 3] - False