首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python3 -在求值之前将循环输出组合在一起?

Python3 -在求值之前将循环输出组合在一起?
EN

Stack Overflow用户
提问于 2021-05-04 19:53:43
回答 1查看 23关注 0票数 0

我正在尝试创建一个脚本来计算json响应。对于每个响应,我想在评估之前将它们组合在一起。

这是一个输出示例(每次运行时都会有多个这样的输出,每个输出中的maptoValue都会有所不同):

代码语言:javascript
复制
{
    "Output": [{
        "Name": "sample-1",
        "SampleBool": False,
        "MaptoValue": False
    }, {
        "Name": "sample-2",
        "SampleBool": False,
        "MaptoValue": False
    }, {
        "Name": "sample-3",
        "SampleBool": True,
        "MaptoValue": True
    }]
}

这是我目前所拥有的:

代码语言:javascript
复制
checkVal = []
for i in response['Output']:
    checkVal.append(str(i['MaptoValue']))
    print(checkVal)

它会产生这样的响应:

代码语言:javascript
复制
['False']
['False', 'True']
['False', 'True', 'False']

我希望它只给我第三个响应,这样我就可以评估它的位置,如果它是True,那么就抛出一个错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-04 19:57:15

您已经将所需的响应存储在checkVal中,只需从循环中删除打印即可。

代码语言:javascript
复制
checkVal = []
for i in response['Output']:
    checkVal.append(str(i['MaptoValue']))
print(checkVal)

现在应该生成

代码语言:javascript
复制
['False', 'True', 'False'] # value of checkVal

可以循环遍历和计算

代码语言:javascript
复制
for val in checkVal:
    if val == 'False':
        # do something
    else:
        # do something else

但是,原始解决方案中的以下代码将执行相同的操作

代码语言:javascript
复制
for i in response['Output']:
    if str(i['MaptoValue']) == 'False':
        # do something
    else:
        # do something else

Id还建议使用布尔型TrueFalse值,而不是字符串'True''False'值。它使用起来更加简单和直观。

代码语言:javascript
复制
checkVal = [False, True, False]
for condition in checkVal:
    if condition:
        # condition is True, do something
    else:
        # condition is False, do something else
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67384270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档