基于属性拆分Python数组



我有一个Python列表,如下所示:

myList = [
{
"key": 1,
"date": "2020-01-02"
},
{
"key": 2,
"date": "2020-02-02"
},
{
"key": 3,
"date": "2020-01-03"
},
{
"key": 4,
"date": "2020-01-02"
},
{
"key": 5,
"date": "2020-02-02"
},
]

现在我想基于属性";日期";。我希望我的列表看起来像这个

myList = [
[
{
"key": 1,
"date": "2020-01-02"
},
{
"key": 4,
"date": "2020-01-02"
},
],
[
{
"key": 2,
"date": "2020-02-02"
},
{
"key": 5,
"date": "2020-02-02"
},
],
[
{
"key": 3,
"date": "2020-01-03"
},
]
]

因此,我希望为当前列表中的每个特定日期创建一个新数组。有人能帮我做到这一点吗?

d={}
for i in range(len(myList)):
d.setdefault(myList[i]['date'], []).append(i) 
myList = [ [myList[i] for i in v] for k,v in d.items() ]  # replace the original `myList` following PO behavior.

逻辑:

您希望根据"日期"对数据进行分组,这意味着您需要dictionary数据结构。剩下的只是实现细节。

最新更新