Skip to content

Commit 6214d23

Browse files
committed
sort dict by digit in keys
1 parent 012c50d commit 6214d23

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

sorted.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77

88
def sorted_dict_by_key_digit(dict_value):
99
''''''
10+
1011
if not isinstance(dict_value, dict):
1112
raise TypeError
1213
value_tmp = dict_value.items()
1314
for count in range(len(re.findall('\d+', dict_value.keys()[0])))[::-1]:
14-
value_tmp = sorted(value_tmp, key=lambda x: int(re.findall('\d+', x[0])[count]))
15+
value_tmp = sorted(value_tmp, key=lambda x: int(re.findall('\d+', x[0])[count if count < len(re.findall('\d+', x[0])) else None]))
1516
sorted_result = OrderedDict()
1617
for value in value_tmp:
1718
sorted_result[value[0]] = value[1]
@@ -23,18 +24,18 @@ def sorted_dict_by_key_digit(dict_value):
2324
dict_value = {
2425
'12A/Frame12/1U23': {'a': 1},
2526
'14A/Frame10/1U20': {'a': 1},
26-
'15A/Frame1/1U12': {'a': 1},
27+
'15A/Frame1/1U': {'a': 1},
2728
'13A/Frame8/1U25': {'a': 1},
2829
'10A/Frame23/1U43': {'a': 1},
29-
'12A/Frame10/1U23': {'a': 1},
30+
'12A/Frame10/1U': {'a': 1},
3031
'14A/Frame13/1U20': {'a': 1},
3132
'15A/Frame40/1U12': {'a': 1},
3233
'13A/Frame12/1U25': {'a': 1},
33-
'10A/Frame7/1U43': {'a': 1},
34+
'10A/Frame7/1U': {'a': 1},
3435
'12A/Frame10/2U23': {'a': 1},
3536
'14A/Frame13/4U20': {'a': 1},
3637
'15A/Frame40/5U12': {'a': 1},
37-
'13A/Frame12/3U25': {'a': 1},
38+
'13A/Frame12/3U': {'a': 1},
3839
'10A/Frame7/9U43': {'a': 1},
3940
}
4041

0 commit comments

Comments
 (0)