class_docstr: The list module:
  
  List default things in textattack.
class_docstr_tok: ["The","list","module",":","List","default","things","in","textattack","."]
docstr: Prints a list or dict of things.
docstr_tok: ["Prints","a","list","or","dict","of","things","."]
code: def _list(self, list_of_things, plain=False):
      """Prints a list or dict of things."""
      if isinstance(list_of_things, list):
          list_of_things = sorted(list_of_things)
          for thing in list_of_things:
              if plain:
                  print(thing)
              else:
                  print(_cb(thing))
      elif isinstance(list_of_things, dict):
          for thing in sorted(list_of_things.keys()):
              thing_long_description = list_of_things[thing]
              if plain:
                  thing_key = thing
              else:
                  thing_key = _cb(thing)
              print(f"{thing_key} ({thing_long_description})")
      else:
          raise TypeError(
              f"Cannot print list of type {type(list_of_things)}"
          )
  
file_path: TextAttack/textattack/commands/list_things_command.py
imports: from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser
  import textattack
  from textattack.attack_args import ATTACK_RECIPE_NAMES, BLACK_BOX_TRANSFORMATION_CLASS_NAMES, CONSTRAINT_CLASS_NAMES, GOAL_FUNCTION_CLASS_NAMES, SEARCH_METHOD_CLASS_NAMES, WHITE_BOX_TRANSFORMATION_CLASS_NAMES
  from textattack.augment_args import AUGMENTATION_RECIPE_NAMES
  from textattack.commands import TextAttackCommand
  from textattack.model_args import HUGGINGFACE_MODELS, TEXTATTACK_MODELS
label_desc: Use image node_id 1 for calling the ListThingsCommand obj's underlying member method code with example usage: obj._list(list_of_things, plain) without return types