code: def get_list_features_names(list_preprocessing, columns_dict):
      """
      Allow to extract all features names from encoders when a list of preprocessing is uesd once it has been applied.
      If the right names aren't available, It creates a list with customized names.
  
      Parameters
      ----------
      list_preprocessing: list
          The fitted list_preprocessing containing the specific encoders.
  
      Returns
      -------
      feature_names: list
          List of returned features names when list_preprocessing is applied.
  
      """
      feature_expected = [value for value in columns_dict.values()]
  
      for enc in list_preprocessing:
          if str(type(enc)) in supported_category_encoder:
              feature_expected = enc.feature_names_out_
  
          elif str(type(enc)) in columntransformer:
              feature_expected = get_feature_names(enc)
  
          elif str(type(enc)) in ("<class 'list'>"):
              feature_expected = feature_expected
  
      return feature_expected
  
file_path: shapash/shapash/utils/columntransformer_backend.py
imports: import pandas
  import numpy
  from shapash.utils.category_encoder_backend import inv_transform_ordinal
  from shapash.utils.category_encoder_backend import inv_transform_ce
  from shapash.utils.category_encoder_backend import supported_category_encoder
  from shapash.utils.category_encoder_backend import dummies_category_encoder
  from shapash.utils.category_encoder_backend import category_encoder_binary
  from shapash.utils.category_encoder_backend import transform_ordinal, get_col_mapping_ce
  from shapash.utils.model_synoptic import simple_tree_model_sklearn, catboost_model, linear_model, svm_model, xgboost_model, lightgbm_model, dict_model_feature
  from shapash.utils.model import extract_features_model
label_desc: Use image node_id 8 for calling a global function with example usage: get_list_features_names(list_preprocessing, columns_dict) and returns: feature_expected