python - 需要帮助来理解为什么 for 循环只循环一次
问题描述
我在下面使用的代码是一个允许我从 API 获取数据的函数:
def get_evt(adresse, id_machine, bucket_size, token, data):
TO_DATE = datetime.strptime("25/11/2019, 22:00:00", "%d/%m/%Y, %H:%M:%S").timetuple()
param = {
"from": int((mktime(TO_DATE) - (60 * 60 * HOUR_DIFF)) * 1000),
"to": int(mktime(TO_DATE) * 1000),
"bucketSize": bucket_size,
"queries": [
{
"signal": data,
"aggregationFunction": "raw",
"groupBy": {
"type": "machine",
"id": id_machine
}
}
]
}
liste = []
resp = requests.post(adresse, headers=token, json=param)
if resp.status_code != 200:
# This means something went wrong.
print('ERROR ', resp.status_code, ': ', resp.json()["message"])
print(resp.json()["message"])
else:
signalsData = resp.json()
for param in range(len(signalsData)):
values = signalsData[param]['timeseries']
print(values)
for value in values:
timestamp = int(value['time']/bucket_size)
valeur = value['value']
return timestamp, valeur
然而,在这段代码中,这个 for 循环只循环一次:
for value in values:
timestamp = int(value['time']/bucket_size)
valeur = value['value']
return timestamp, valeur
我想要实现的是以某种方式获取列表“值”的第一个和最后一个值,但我不明白为什么即使值包含多个值,循环也只能工作一次。
解决方案
尝试退出 for 循环,因此在遍历所有值之后:即
for value in values:
timestamp = int(value['time']/bucket_size)
valeur = value['value']
return timestamp, valeur
推荐阅读
- r - 使用 ompr 在 R 中进行产品到生产线分配。错误:表达式包含不属于模型的变量
- angularjs - 用于自动化目的的 AngularJS 网站
- oracle - 每当插入或更新列时在表上创建触发器
- asp.net - 了解 Wcf 服务端点逻辑
- json - 后端返回成功响应时删除HttpClient导致错误回调
- angular - 使用 flex-layout (fxlayout) 对齐 Div 项目不起作用
- python - 无法在 Django 中更新图像
- java - 通过mapStore写入数据库
- scala - SBT:如何在多个任务中重用带有参数的代码?
- python - 从python中的csv文件中删除不需要的值