Splitting dict by value of one of the keys

后端 未结 4 837
隐瞒了意图╮
隐瞒了意图╮ 2020-12-19 19:45

I\'ve got a dictionary with data of the same length (but different types), something like:

data = {
    \"id\": [1,1,2,2,1,2,1,2], 
    \"info\": [\"info1\",         


        
4条回答
  •  北荒
    北荒 (楼主)
    2020-12-19 20:26

    with comprehension lists :

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

    If you want to recover all the keys :

    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}]
    

提交回复
热议问题