代码如下:
class Calendar_Data(Resource):
def get(self):
result = []
details_array = []
# Times are converted to seconds
for day in life.days:
for span in day.spans:
if type(span.place) is str:
details = {
'name': span.place,
'date': 0,
'value': (span.length() * 60),
}
details_array.append(details)
data = {
'date': datetime.datetime.strptime(day.date, '%Y_%m_%d').strftime('%Y-%m-%d'),
'total': (day.somewhere() * 60),
'details': details_array
}
result.append(data)
return result
我要做的是针对一个日期列表中出现的每一天,获取该天对应的跨度,并用details
填充数组。然后将该details
传递给data
数组,以便在该天数列表中的每一天都有它。在
这里的问题是,当我使用上面的这些嵌套循环时,它用所有天的所有跨度填充details
,而不是每一天。在
在这种情况下,我不使用zip
进行精简。也许是一些列表理解,但我还是没有完全理解。在
输入示例:
^{pr2}$对于1月16日,details数组应该有3个项目,但是每天都会不断地显示所有日期的所有项目。在
您不会在每个循环之间重新定义列表(Python有列表而不是数组)。您需要将
details_array
的创建移动到其中一个循环中,以便将其重新创建为空。你可能会把它变成这样:这样,对于
day
的每次新迭代,都会有一个新的空列表。在相关问题 更多 >
编程相关推荐