layout_seq = {} device_seq_dict = {"A": 1, "B": 2, "C": 3, "E":5, "D":4} layer_name_dict = { "layer1": { "A": ["R90", "R0"], "B": ["R0", "R270"], "C": ["R0"], "D": ["R0"], "E": ["R0"], }, "layer2": { "A": ["R90", "R0"], "B": ["R90"], "C": ["R90"], "D": ["R90"], "E": ["R90"], }, } for layer_name, device_name in layer_name_dict.items(): _add = 0 for _name, _rotation in device_name.items(): # if len(_rotation) == 1: # _key = layer_name + "_" + _name + "_" + _rotation[0] # _value = device_seq_dict.get(_name) # layout_seq[_key] = _value # else: for _index, _r in enumerate(_rotation): _key = layer_name + "_" + _name + "_" + _r _value = device_seq_dict.get(_name) + _add + _index if _index > 0: _add += 1 layout_seq[_key] = _value print(layout_seq)