【问题标题】:How to iterate through a json values and compare all the json values and returns if true?如何遍历 json 值并比较所有 json 值,如果为真则返回?
【发布时间】:2018-11-12 02:01:40
【问题描述】:

我的 Jenkins 响应如下: 我想遍历数据中的所有值并像这样进行比较

data = {"fruits":["apple","banana","spinach","carrot"]}

for value in data.json().values():
    if value[i] == apple or banana:
        print value[i] # i want to print if its find one or two
    elif value[i] == spinach or carrot:
        print value[i] # i want to print if it is true 

我写的代码是错误的,但请帮助我如何遍历值并进行比较并打印值(如果存在)对于 python 来说是新的

【问题讨论】:

  • 你在哪里定义我?此外,您应该在此处修复缩进,因为空格毕竟是代码的一部分
  • 好吧,伙计们,它工作了谢谢大家@GreenCell
  • 从 Python 中的循环介绍开始吧? youtube.com/watch?v=6iF8Xb7Z3wQ&feature=youtu.be
  • @GreenCell 我可以在 if 语句中使用 os.getenv 进行比较 if value == apple.banana12.(os.getenv).cdf 或 value ==banana.56.(os.getenv ).lkg 打印值? os.getenv 正在从 Jenkins 参数中获取数据,所以我想在字符串中插入数据以与值进行比较?我怎样才能在python中做到这一点?
  • 只要您的环境变量os.getenv 评估为您想要的,那么您可以使用任何东西。您可能需要提出一个新问题或编辑此问题以澄清,因为它离题而且不是很清楚。

标签: python json for-loop if-statement key-value


【解决方案1】:

以下是可以解决的问题:

  • 确保您的数据是字符串
  • 使用json.loads
  • 如果你在遍历

    的元素,则不需要索引
    import json
    data = json.loads('{"fruits":["apple","banana","spinach","carrot"]}')
    for value in data['fruits']:
        if value == 'apple' or 'banana':
            print(value) # i want to print if its find one or two
        elif value == 'spinach' or 'carrot':
            print(value) # i want to print if it is true 
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 2021-10-15
    • 2016-05-03
    • 2017-09-07
    相关资源
    最近更新 更多