假设我有一个对象数组。
arr = [
{'grade': 'A', 'name': 'James'},
{'grade': 'B', 'name': 'Tom'},
{'grade': 'A', 'name': 'Zelda'}
]
Run Code Online (Sandbox Code Playgroud)
我想要这个结果
{
'A': [
{'grade': 'A', 'name': 'James'},
{'grade': 'A', 'name': 'Zelda'}
],
'B': [ {'grade': 'B', 'name': 'Tom'} ]
}
Run Code Online (Sandbox Code Playgroud)
使用字典和setdefault:
设置默认值(键[,默认值])
如果 key 在字典中,则返回它的值。如果不是,则插入具有默认值的键并返回默认值。默认值默认为无。
arr2 = {}
for d in arr:
t = arr2.setdefault(d['grade'], [])
t.append(d)
Run Code Online (Sandbox Code Playgroud)
>>> arr2
{'A': [{'grade': 'A', 'name': 'James'}, {'grade': 'A', 'name': 'Zelda'}],
'B': [{'grade': 'B', 'name': 'Tom'}]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2288 次 |
| 最近记录: |