我使用以下代码从窗体生成数据:
time_schedule = []
f = request.form
for key in f.keys():
for idx, value in enumerate(f.getlist(key), 1):
time_schedule.append({key+str(idx): value})
当我print
得到这个结果时:
[{'csrf_token1': 'Ijg2YWEyNDEwMWI3ZTE4NjYyNzBkNTEwYTZlMzRiYTM3MjY2ZTk2NDAi.XaGmZw.rMR9Q53hlAQV-Ul9X3PHT55TMxc'}, {'course_start_at1': '2019-10-26'}, {'schedule_day1': 'Sunday'}, {'schedule_day2': 'Saturday'}, {'start_at1': '01:00'}, {'start_at2': '03:00'}, {'end_at1': '02:00'}, {'end_at2': '04:00'}, {'step1': 'input_teacher_email'}]
然后我去掉了不必要的价值:
del time_schedule[0]
del time_schedule[0]
del time_schedule[-1]
那么我这里是现在的值:
[{'schedule_day1': 'Sunday'}, {'schedule_day2': 'Saturday'}, {'start_at1': '01:00'}, {'start_at2': '03:00'}, {'end_at1': '02:00'}, {'end_at2': '04:00'}]
现在我想把它合并成这样:
[
{'schedule_day1': 'Sunday', 'start_at1': '01:00', 'end_at1': '02:00'},
{'schedule_day2': 'Saturday', 'start_at2': '03:00', 'end_at2': '04:00'},
]
但不知道如何在最佳实践中做到这一点。请,任何答案,来源或教程如何做,将不胜感激。。?:)
你可以做:
输出
或者你给熊猫贴了标签:
输出
两种方法的关键都是按字典中每个键的最后一位分组,在第一种解决方案中,这是使用
seen
字典(实际上是defaultdict,在第二种解决方案中是使用groupby。你知道吗因此,编辑后的情况如下所示:
我的尝试是不使用字符串连接索引,而是继续将其用作索引。你知道吗
这应该给你一个dict,其中键是你的升序索引是键,值是你想要的dict。如果你需要一个列表,你可以把它转换成一个。。。你知道吗
使用我的代码(在函数参数中输入数据)
这是一个有点长,因为这是如此困难的算法没有任何模块。你知道吗
要使用此
merge
函数相关问题 更多 >
编程相关推荐