Я использую библиотеку schema
.
Как я могу создать схему для проверки того, содержит ли в словаре какой-либо из ключей и соответствующих им значений?
mydict_schema = Schema({
Optional('name'): str,
Optional('name_id'): int,
})
В настоящий момент все клавиши Optional
, но я хочу, чтобы их хотя бы один из них.
ZeroOrMore
, но DevSyedK хочет, чтобы это ограничение OneOrMore
True
тогда и только тогда, когда пересечение двух списков не является пустым.Примечание: это не полное решение вопроса, просто доказательство концепции.
lstkeys_possible = ['alpha','bravo','charlie'] lstkeys_actual = [] ## wont validate lstkeys_actual = ['zulu'] ## wont validate lstkeys_actual = ['alpha'] ## will validate Schema( lambda vinput: bool(set(vinput[0]) & set(vinput[1])) ).validate( [lstkeys_possible,lstkeys_actual] )
schema
@holdenweb - сторонняя библиотека.