首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何遍历2个JSON列表(混合dict和list),匹配特定值并打印另一个值

在遍历两个JSON列表(混合dict和list)并匹配特定值并打印另一个值的问题中,可以使用递归的方式来实现。

首先,我们需要定义一个函数来遍历JSON列表。该函数将接受两个参数:要遍历的JSON列表和要匹配的特定值。函数将递归地遍历列表中的每个元素,并检查是否存在匹配的特定值。

如果当前元素是一个字典(dict),我们将递归地调用该函数来遍历字典的值。如果当前元素是一个列表(list),我们将遍历列表中的每个元素,并递归地调用该函数。

当找到匹配的特定值时,我们将打印另一个值。在这个例子中,我们假设要打印的是与特定值相邻的下一个值。

下面是一个示例代码:

代码语言:txt
复制
def traverse_json(json_list, target_value):
    for item in json_list:
        if isinstance(item, dict):
            traverse_json(list(item.values()), target_value)
        elif isinstance(item, list):
            traverse_json(item, target_value)
        elif item == target_value:
            index = json_list.index(item)
            if index < len(json_list) - 1:
                print(json_list[index + 1])

# 示例数据
json_list1 = [
    {"name": "John", "age": 25},
    [1, 2, 3],
    {"name": "Alice", "age": 30},
    [4, 5, 6]
]

json_list2 = [
    {"name": "Bob", "age": 35},
    [7, 8, 9],
    {"name": "Alice", "age": 30},
    [10, 11, 12]
]

# 调用函数并打印结果
traverse_json(json_list1, "Alice")
traverse_json(json_list2, 30)

在上面的示例中,我们定义了一个名为traverse_json的函数来遍历JSON列表。我们使用isinstance函数来检查当前元素的类型,并根据类型进行相应的处理。当找到匹配的特定值时,我们使用index函数来获取该值在列表中的索引,并打印与其相邻的下一个值。

请注意,这只是一个示例代码,实际应用中可能需要根据具体情况进行适当的修改和调整。此外,对于更复杂的JSON结构,可能需要更复杂的逻辑来处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券