Swap keys for unique values in a dictionary in Python

后端 未结 4 1203
野趣味
野趣味 2021-01-28 05:51
a = {0: \'PtpMotion\', 1: \'PtpMotion\', 2: \'LinMotion\', 3: \'LinMotion\', 4: \'LinMotion\', 5: \'LinMotion\', 6: \'LinMotion\', 7: \'LinMotion\', 8: \'LinMotion\', 9:         


        
4条回答
  •  小鲜肉
    小鲜肉 (楼主)
    2021-01-28 06:04

    Perhaps you want lists in the output dictionary:

    from collections import defaultdict
    a = {0: 'PtpMotion', 1: 'PtpMotion', 2: 'LinMotion', 3: 'LinMotion', 4: 'LinMotion', 5: 'LinMotion', 6: 'LinMotion', 7: 'LinMotion', 8: 'LinMotion', 9: 'PtpMotion', 10: 'LinMotion', 11: 'Wait'}
    b = defaultdict(list)
    for key, val in a.items():
        b[val].append(key)
    print b
    

    yields:

    defaultdict(, {'LinMotion': [2, 3, 4, 5, 6, 7, 8, 10], 'PtpMotion': [0, 1, 9], 'Wait': [11]})
    

提交回复
热议问题