code: def _list_indexing(X, key, key_dtype):
      """Index a Python list."""
      if np.isscalar(key) or isinstance(key, slice):
          # key is a slice or a scalar
          return X[key]
      if key_dtype == "bool":
          # key is a boolean array-like
          return list(compress(X, key))
      # key is a integer array-like of key
      return [X[idx] for idx in key]
  
imports: import functools
  import logging
  import numbers
  import time
  import warnings
  from collections import Counter
  from contextlib import suppress
  from itertools import compress
  from traceback import format_exc
  import numpy
  import scipy.sparse
  from catboost import CatBoostClassifier, CatBoostRegressor
  from joblib import Parallel, logger
  from scipy.sparse import issparse
  from sklearn import config_context, get_config
  from sklearn.base import clone, is_classifier
  from sklearn.exceptions import FitFailedWarning, NotFittedError
  from sklearn.metrics import check_scoring
  from sklearn.metrics._scorer import _MultimetricScorer
  from sklearn.model_selection import check_cv
  from sklearn.utils.fixes import np_version, parse_version
  from sklearn.utils.validation import indexable
label_desc: Use image node_id 15 for calling a global function with example usage: _list_indexing(X, key, key_dtype) and returns: unknown, X, list