如何在Lambda python中返回之前检查字典中的值

2024-10-02 10:24:28 发布

您现在位置:Python中文网/ 问答频道 /正文

结果如下

result = {'took': 5, 'timed_out': False, '_shards': {'total': 5, 'successful': 5, 'skipped': 0, 'failed': 0}, 'hits': {'total': {'value': 0, 'relation': 'eq'}, 'max_score': None, 'hits': []}}

我需要检查result['hits']['total']['value']0还是!0

本地代码运行良好,如下所示

if result['hits']['total']['value']!=0:
    print (result)
elif result['hits']['total']['value']==0
    print ('no values to print ')

在Lambda中,它的抛出语法错误

def lambda_handler(event, context):
    result = {'took': 5, 'timed_out': False, '_shards': {'total': 5, 'successful': 5, 'skipped': 0, 'failed': 0}, 'hits': {'total': {'value': 0, 'relation': 'eq'}, 'max_score': None, 'hits': []}}
    print (result)
    if result['hits']['total']['value'] != 0:
        return {
            'body':result
               }
    elif result['hits']['total']['value']=0
        return{
            'body': json.dumps('No values found!')
        }

Tags: falsevalueresultouttotaleqprinttimed
1条回答
网友
1楼 · 发布于 2024-10-02 10:24:28

应该使用下面的语法,您的elif语句结尾缺少:,必须始终包含该语句

def lambda_handler(event, context):
    result = {'took': 5, 'timed_out': False, '_shards': {'total': 5, 'successful': 5, 'skipped': 0, 'failed': 0}, 'hits': {'total': {'value': 0, 'relation': 'eq'}, 'max_score': None, 'hits': []}}
    print (result)
    if result['hits']['total']['value'] != 0:
        return {
            'body':result
               }
    elif result['hits']['total']['value'] == 0:
        return{
            'body': json.dumps('No values found!')
        }

相关问题 更多 >

    热门问题