+-
python-通过键之一的值拆分dict
我有一个字典,其中的数据长度相同(但类型不同),例如:

data = {
    "id": [1,1,2,2,1,2,1,2], 
    "info": ["info1","info2","info3","info4","info5","info6","info7","info8"],       
    "number": [1,2,3,4,5,6,7,8]
}

现在,我想按ID将其分成两部分,并保留各自的信息和编号.也就是说,具有两个字典data1和data2.

注意:这只是一个示例,字典中有多个键,我想避免使用键名,而是遍历所有键名.

用Python的方法是什么?

最佳答案
与理解列表:

data1 = [ data["info"][idx] for idx, x in enumerate(data["id"]) if x == 1 ]
#data1 = ['info1', 'info2', 'info5', 'info7']

如果要恢复所有密钥:

data1 = [ { key : data[key][idx] for key in data.keys() }  for idx, x in enu
merate(data["id"]) if x == 1 ]
>>> data1
[{'info': 'info1', 'id': 1, 'number': 1}, {'info': 'info2', 'id': 1, 'number': 2
}, {'info': 'info5', 'id': 1, 'number': 5}, {'info': 'info7', 'id': 1, 'number':
 7}]
点击查看更多相关文章

转载注明原文:python-通过键之一的值拆分dict - 乐贴网