zoukankan      html  css  js  c++  java
  • reverse/inverse a mapping but with multiple values for each key

    reverse/inverse a mapping but with multiple values for each key

    multi mappping dictionary , reverse/inverse

    '''
    mrg_dictionary: {15: {16, 19, 21, 23}, 22: {18}}
    inv_merging_led_dict: {16: 15, 19: 15, 21: 15, 23: 15, 18: 22}
        mrg_dictionary --> inv_merging_led_dict
    '''
    mrg_dictionary = {15: {16, 19, 21, 23}, 22: {18}}
    inv_merging_led_dict = {value:key for key in mrg_dictionary for value in mrg_dictionary[key]}
    print(inv_merging_led_dict)
    
    '''
    inv_merging_led_dict: {16: 15, 19: 15, 21: 15, 23: 15, 18: 22}
    mrg_dictionary: {15: {16, 19, 21, 23}, 22: {18}}
        inv_merging_led_dict --> mrg_dictionary
    '''
    valueset = set(inv_merging_led_dict.values())
    mrg_dictionary = {k:set() for k in valueset}    # {15:set, 18:set()}
    for key in mrg_dictionary.keys():
        pop_k_list = []
        for k in inv_merging_led_dict:
            if inv_merging_led_dict[k] == key:
                mrg_dictionary[key].add(k)
                pop_k_list.append(k)
        for k in pop_k_list:
            inv_merging_led_dict.pop(k)
    
    print('mrg_dictionary', mrg_dictionary)
    
  • 相关阅读:
    spring 配置版本问题
    sublime与Emment
    工欲善其事必先利其器之浏览器篇
    工欲善其事必先利其器之windows篇
    工欲善其事必先利其器之搜索引擎
    营销自我
    java必备技能
    离线安装ADT和sdk
    eclipse的小技巧
    匿名内部类
  • 原文地址:https://www.cnblogs.com/sonictl/p/11816116.html
Copyright © 2011-2022 走看看