Simple python package to transpose python dictionaries.
Multilevel dictionaries can be viewed as projections of sparse n-dimensional matrices: as such, you can transpose them on any of their axes.
This package offers a simple function to do that.
As usual, just use pip as follows:
pip install transpose_dict
from transpose_dict import TD # or from transpose_dict import transpose_dict
test = {
"a":{
"0":{
"I":[1,2,3],
"II":[4,5,6]
}
},
"b":{
"0":{
"I":[8,9,10],
"II":[467,23,23]
},
"1":{
"III":[6,7,9]
}
}
}
TD(test, 0) # The given dictionary does not change
#> {"b": {"0": {"I": [8, 9, 10], "II": [467, 23, 23]}, "1": {"III": [6, 7, 9]}}, "a": {"0": {"I": [1, 2, 3], "II": [4, 5, 6]}}}
TD(test, 1) # The new main axis is the one with ("0", "1")
#> {"0": {"a": {"I": [1, 2, 3], "II": [4, 5, 6]}, "b": {"I": [8, 9, 10], "II": [467, 23, 23]}}, "1": {"b": {"III": [6, 7, 9]}}}
TD(test, 2) # The new main axis is the one with ("I", "II", "III")
#> {"I": {"a": {"0": [1, 2, 3]}, "b": {"0": [8, 9, 10]}}, "III": {"b": {"1": [6, 7, 9]}}, "II": {"a": {"0": [4, 5, 6]}, "b": {"0": [467, 23, 23]}}}
The software is released under the MIT license.