我在分组我的列表时遇到了问题
假设我有这个:
data = [
{'records-0': '1'}, {'records-0-item1': '2'}, {'records-0-item2': '3'},{'records-0-item3': '4'},
{'records-1': '1'}, {'records-1-item1': '2'}, {'records-1-item2': '3'},
]
我尝试的是根据键中的索引对列表进行排序(如果有意义的话)
所以我预期的结果是这样的
sortedData = [
{0: [{'records-0': '1'}, {'records-0-item1': '2'}, {'records-0-item2': '3'},{'records-0-item3': '4'},]},
{1: [{'records-1': '1'}, {'records-1-item1': '2'}, {'records-1-item2': '3'},]
]
我试着查找分组列表,但这都是基于一个特定的键。这样地 https://www.geeksforgeeks.org/group-list-of-dictionary-data-by-particular-key-in-python/
有什么想法吗
编辑:列表中的数据基于用户输入,因此可能还有:
{'records-2': '1'}, {'records-3': '1'}, {'records-4': '1'}, etc
我建议您重新格式化sortedData并删除列表。您只能将数据收集到dict中
编辑的示例:(应按原样工作)
一种方法是使用default_dict
首先,只需定义一个helper方法即可从字符串中获取键:
然后
所以你最终得到了这个结果:
或者调整代码以获得不同的结果
例如,如果您
.append(h)
,您会得到:相关问题 更多 >
编程相关推荐