所以我需要一个在python中创建dict列表的最佳方法。你知道吗
所以我有一个列表如下:
[
{'name': 'John', 'hobbies': ['Reading', 'Swimming']},
{'name': 'Gina', 'hobbies': ['Skating', 'Cooking']},
{'name': 'John', 'hobbies': ['Gardening', 'Swimming']}
]
所以我需要输出如下:
[
{'name': 'John', 'hobbies': ['Reading', 'Swimming', 'Gardening']},
{'name': 'Gina', 'hobbies': ['Skating', 'Cooking']},
]
如您所见,我需要为每个名字创建一组爱好,并创建一个独特的dict列表。你知道吗
这就是我尝试过的:
{v['_id']['route']: v for v in routes_list}.values()
但它不负责创建集
有谁能帮我以最理想的方式这样做吗?你知道吗
谢谢你。你知道吗
只需构造一个中间默认字典,它使您能够在线性时间内完成此操作。最后转换回所需的结构。你知道吗
输出:
如果您同意将输出的结构从名称更改为爱好集,则可以在线性时间内完成(忽略边缘情况,即大量哈希冲突):
如果您坚持使用dict列表,您仍然可以实现几乎线性时间(列表查找仍然是O(n)),但是使用一个逻辑将索引映射到名称:
如果您同意业余爱好是一个集合,那么您可以将其设为真正的线性时间(同样,如果我们忽略了过度哈希冲突的可能性):
相关问题 更多 >
编程相关推荐