Package: d8s-dicts
Democritus DictsDemocritus functions[1]for working with Python dictionaries.[1] Democritus functions aresimple, effective, modular, well-tested, and well-documentedPython functions.We used8s(pronounced "dee-eights") as an abbreviation fordemocritus(you can read more about thishere).Installationpip install d8s-dictsUsageYou import the library like:fromd8s_dictsimport*Once imported, you can use any of the functions listed below.Functionsdefdict_filter_by_values(dictionary:dict,filter_function:Callable)->dict:"""."""defdict_filter_by_keys(dictionary:dict,filter_function:Callable)->dict:"""."""defis_dict(possible_dict:Any)->bool:"""Return whether or not the possible_dict is a dictionary."""defdict_keys(dictionary:dict)->List[Any]:"""Get the dictionary's keys (as a list)."""defis_valid_dict_key(key:Any)->bool:"""Return whether or not a dictionary could have the given key."""defdict_values(dictionary:dict)->List[Any]:"""Get the dictionary's values (as a list)."""defdict_has_value(dictionary:dict,value)->bool:"""Return whether or not the dictionary has the given value (without evaluating the value)."""defdict_key_types(dictionary:dict)->list:"""Return a list with the type of each key in the dictionary."""defdict_value_types(dictionary:dict)->dict:"""Return a dictionary with the same keys and the type of each value in place of the actual value."""defdict_keys_with_value(dictionary:dict,value):"""Find the key(s) in the dictionary which have the given value."""defdict_sort_by_keys(dictionary:dict,**kwargs)->collections.OrderedDict:"""Sort the dictionary based on the dictionary's keys."""defdict_sort_by_values(dictionary:dict,**kwargs)->collections.OrderedDict:"""Sort the dictionary based on the dictionary's values."""defdicts_sort_by_value_at_key(dictionaries:List[Dict[Any,Any]],key,**kwargs)->List[Dict[Any,Any]]:"""Sort the given dictionaries (we are assuming that we get a list of dictionaries) based on each dictionary's value at the given key."""defdict_flip(dictionary:dict,*,flatten_values:bool=False,flip_lists_and_sets:bool=False)->dict:"""Flip the dictionary's keys and values; all of the values become keys and keys become values."""defdict_delistify_values(dictionary:dict)->dict:"""For all values in the given dictionary that are lists whose lengths are one, replace the list of length one with the value in the list."""defdict_examples(n:int=10,**kwargs)->List[Dict[Any,Any]]:"""Create n dictionary examples."""defdict_add(dictionary:Dict[Any,List[Any]],key:Any,value:Any)->Dict[Any,List[Any]]:"""Add the given value to the dictionary at the given key. This function expects that all values of the dictionary parameter are lists."""defdicts_diffs(dictionary_a:dict,dictionary_b:dict)->list:"""."""defdict_copy_value_at_key(dictionary:dict,key:Any,new_key:Any)->dict:"""Copy the value at the given key into the new key."""defdict_move_value_at_key(dictionary:dict,old_key:Any,new_key:Any)->dict:"""Move the given key and its values into the new key."""defdict_key_delete(dictionary:dict,key:Any)->dict:"""Delete the given key from the given dictionary."""defdict_delete_items(dictionary:dict,values_to_delete:List[Any]=None,keys_to_delete:List[Any]=None)->dict:"""Delete all items from the dictionary if the item's value is in values_to_delete or the item's key is in keys_to_delete."""defdict_delete_empty_values(dictionary:dict)->dict:"""Delete all key-values pairs from the dictionary if the value is an empty strings, empty list, zero, False or None."""defdict_keys_with_max_value(dictionary:dict)->List[DictKeyType]:"""."""defdict_keys_with_min_value(dictionary:dict)->List[DictKeyType]:"""."""defdict_value_with_max_key(dictionary:dict)->Any:"""."""defdict_value_with_min_key(dictionary:dict)->Any:"""."""Development👋  If you want to get involved in this project, we have some short, helpful guides below:contribute to this project 🥇test it 🧪lint it 🧹explore it 🔭If you have any questions or there is anything we did not cover, please raise an issue and we'll be happy to help.CreditsThis package was created withCookiecutterand Floyd Hightower'sPython project template.