我有这样一个清单:
[(datetime.date(2014, 4, 15), {'first_name': 'Mike', 'last_name': 'Jackson'}),
(datetime.date(2014, 4, 15), {'first_name': 'Hannah', 'last_name': 'Jackson'}),
(datetime.date(2014, 4, 16), {'first_name': 'Tom', 'last_name': 'Jackson'},
(datetime.date(2014, 4, 16), {'first_name': 'Macy', 'last_name': 'Jackson'})]
我想遍历这个列表,以便将这些dict相互比较。然后我想自己列一张日期相同的单子。我该怎么做
结果应该是:
列表n
[(datetime.date(2014, 4, 15), {'first_name': 'Mike', 'last_name': 'Jackson'}),
(datetime.date(2014, 4, 15), {'first_name': 'Hannah', 'last_name': 'Jackson'})]
列表n+1
[(datetime.date(2014, 4, 16), {'first_name': 'Tom', 'last_name': 'Jackson'},
(datetime.date(2014, 4, 16), {'first_name': 'Macy', 'last_name': 'Jackson'})]
这个任务有一个工具叫做
groupby
。但是它使用迭代器,并且取决于要分组在一起的项已经是有序的,因此您可能需要在应用它之前对输入进行排序,这当然取决于“排序度”result
就是这样:这正是你想要的
如果
a
是您的列表,此解决方案将起作用:并产生这个输出
相关问题 更多 >
编程相关推荐