You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python从JSON数组中获取指定设施的免费车位数量?

获取特定自行车停车场的免费车位解决方案

你之前写的for 'facilityName' == "Stationsplein":是错误的Python语法,循环需要先遍历数据集合,再对每个元素做条件判断。下面是两种可行的解决方法:

方法一:在遍历中添加条件判断

修改你现有的循环代码,在遍历每个设施时检查名称是否匹配,匹配时输出结果:

import json
import requests

data = requests.get("https://stallingsnet.nl/api/1/parkingcount/utrecht")
parkingData = json.loads(data.text)

for facility in parkingData:
    # 判断当前设施名称是否为目标名称
    if facility["facilityName"] == "Stationsplein":
        print(f"Stationsplein的免费车位:{facility['freePlaces']}")
        # 找到目标后退出循环,无需继续遍历
        break

方法二:用next()快速查找单个匹配项

如果只需要找一个目标设施,用next()函数可以更简洁地获取结果,还能处理找不到的情况:

import json
import requests

data = requests.get("https://stallingsnet.nl/api/1/parkingcount/utrecht")
parkingData = json.loads(data.text)

# 生成器表达式筛选目标,找不到时返回None
target = next((f for f in parkingData if f["facilityName"] == "Stationsplein"), None)
if target:
    print(f"Stationsplein的免费车位:{target['freePlaces']}")
else:
    print("未找到名为Stationsplein的停车场设施")

关键说明

  • Python的for循环是用来遍历可迭代对象(比如这里的parkingData列表)的,不能直接把条件写在for后面。
  • 添加break可以在找到目标后立即停止遍历,提升效率。
  • next()方法适合只需要单个匹配结果的场景,避免不必要的循环。

内容的提问来源于stack exchange,提问作者Adri van den Wittenboer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 04:31:18