@@ -723,15 +723,15 @@ def dict_remap_and_stringify(original_dict: dict[str, str], remapping: dict[str,
723723 return dict_stringify (dict_remap (original_dict , remapping ))
724724
725725
726- def list_to_dict (original_list : list [dict [str , any ]], key_field : str ) -> dict [str , any ]:
726+ def list_to_dict (original_list : list [dict [str , Any ]], key_field : str ) -> dict [str , any ]:
727727 """Converts a list to dict with list key_field as dict key"""
728728 converted_dict = {elem [key_field ]: elem for elem in original_list }
729729 for e in converted_dict .values ():
730730 e .pop (key_field )
731731 return converted_dict
732732
733733
734- def dict_to_list (original_dict : dict [str , any ], key_field : str , value_field : Optional [str ] = "value" ) -> list [str , any ]:
734+ def dict_to_list (original_dict : dict [str , Any ], key_field : str , value_field : Optional [str ] = "value" ) -> list [str , any ]:
735735 """Converts a dict to list adding dict key in list key_field"""
736736 if isinstance (original_dict , list ):
737737 return original_dict
@@ -791,20 +791,6 @@ def pretty_print_json(file: str) -> bool:
791791 return True
792792
793793
794- def order_keys (original_dict : dict [str , any ], * keys ) -> dict [str , any ]:
795- """Orders a dict keys in a chosen order, existings keys not in *keys are pushed to the end
796- :param dict[str, any] original_dict: Dict to order
797- :param str *keys: List of keys in desired order
798- :return: same dict with keys in desired order
799- """
800- ordered_dict = {}
801- for key in [k for k in keys if k in original_dict ]:
802- ordered_dict [key ] = original_dict [key ]
803- for key in [k for k in original_dict if k not in keys ]:
804- ordered_dict [key ] = original_dict [key ]
805- return ordered_dict
806-
807-
808794def flatten (original_dict : dict [str , any ]) -> dict [str , any ]:
809795 """Flattens a recursive dict into a flat one"""
810796 flat_dict = {}
@@ -834,6 +820,20 @@ def sort_list_by_key(list_to_sort: list[dict[str, Any]], key: str, priority_fiel
834820 return first_elem + list (dict (sorted (tmp_dict .items ())).values ())
835821
836822
823+ def order_keys (original_dict : dict [str , any ], * keys ) -> dict [str , any ]:
824+ """Orders a dict keys in a chosen order, existings keys not in *keys are pushed to the end
825+ :param dict[str, any] original_dict: Dict to order
826+ :param str *keys: List of keys in desired order
827+ :return: same dict with keys in desired order
828+ """
829+ ordered_dict = {}
830+ for key in [k for k in keys if k in original_dict ]:
831+ ordered_dict [key ] = original_dict [key ]
832+ for key in [k for k in original_dict if k not in keys ]:
833+ ordered_dict [key ] = original_dict [key ]
834+ return ordered_dict
835+
836+
837837def order_dict (d : dict [str , Any ], key_order : list [str ]) -> dict [str , Any ]:
838838 """Orders keys of a dictionary in a given order"""
839839 new_d = {k : d [k ] for k in key_order if k in d }
0 commit comments