Хорошо. Я не смог найти ответ с помощью валидатора Cerberus, чтобы проверить дубликаты в списке. Я проверил Json схему, где это действительно легко. Ниже приведен код:
from jsonschema import validate
schema = { "type": "array", "uniqueItems": True}
mylist = ['1000', '1001', '1010', '1011', '1100', '1101', '1110', '1000']
# Returns None if validated; else a validation error
validate(instance = mylist, schema = schema)
В Цербере валидация возвращает True, если подтверждено право; иначе Ложь. Принимая во внимание, что Json Схема возвращает None (в Python), если проверено, в противном случае выдает ошибку проверки, как указано ниже:
---------------------------------------------------------------------------
ValidationError Traceback (most recent call last)
<ipython-input-1-efa3c7f0da39> in <module>
5 mylist = ['1000', '1001', '1010', '1011', '1100', '1101', '1110', '1000']
6
----> 7 ans = validate(instance = mylist, schema = schema)
8 if(ans == None): print('Validated as True')
~/Library/Python/3.8/lib/python/site-packages/jsonschema/validators.py in validate(instance, schema, cls, *args, **kwargs)
932 error = exceptions.best_match(validator.iter_errors(instance))
933 if error is not None:
--> 934 raise error
935
936
ValidationError: ['1000', '1001', '1010', '1011', '1100', '1101', '1110', '1000'] has non-unique elements
Failed validating 'uniqueItems' in schema:
{'type': 'array', 'uniqueItems': True}
On instance:
['1000', '1001', '1010', '1011', '1100', '1101', '1110', '1000']