Python 检查两个值中是否至少有一个存在且不为空

Python 检查两个值中是否至少有一个存在且不为空,python,dictionary,Python,Dictionary,我现在有最好的解决办法。我希望,对大多数人来说,蟒蛇还不够 # First Check if at least one of the two values exist in the OrderedDict. if 'content' in validated_data or 'location' in validated_data: # If one exists, make sure it is not empty if 'content' in validated_data

我现在有最好的解决办法。我希望,对大多数人来说,蟒蛇还不够

# First Check if at least one of the two values exist in the OrderedDict.
if 'content' in validated_data or 'location' in validated_data:

    # If one exists, make sure it is not empty
    if 'content' in validated_data:
        if not validated_data['content']:
            raise MyException("You cannot have blank values")
    if 'location' in validated_data:
        if not validated_data['location']:
            raise MyException("You cannot have blank values")
    return validated_data

raise MyException("You need at least one field")
如果缺少键,可以使用
dict.get()
返回默认值;使用此选项测试键和值:

if not (validated_data.get('content') or validated_data.get('location')):
    raise MyException("You need at least one non-blank field")
return validated_data
如果
validated\u data['content']
存在,
validated\u data.get('content')
将返回它。如果它不存在,
None
返回一个假值。因此,当密钥存在但为false时,以及当密钥丢失时,最终结果都是一个false值,并且测试
'location'
密钥。如果键存在且不是假值,则
表达式短路。

如果缺少键,可以使用
dict.get()
返回默认值;使用此选项测试键和值:

if not (validated_data.get('content') or validated_data.get('location')):
    raise MyException("You need at least one non-blank field")
return validated_data

如果
validated\u data['content']
存在,
validated\u data.get('content')
将返回它。如果它不存在,
None
返回一个假值。因此,当密钥存在但为false时,以及当密钥丢失时,最终结果都是一个false值,并且测试
'location'
密钥。如果钥匙存在且不是假值,则
表达式会短路。

先生,您是动物!先生,你是一只动物!