code: def __search_iterable(self,
                            obj,
                            item,
                            parent="root",
                            parents_ids=frozenset({})):
          
  
          for i, thing in enumerate(obj):
              new_parent = "%s[%s]" % (parent, i)
              if self.__skip_this(thing, parent=new_parent):
                  continue
  
              if self.case_sensitive or not isinstance(thing, strings):
                  thing_cased = thing
              else:
                  thing_cased = thing.lower()
  
              if thing_cased == item:
                  self.__report(
                      report_key='matched_values', key=new_parent, value=thing)
              else:
                  item_id = id(thing)
                  if parents_ids and item_id in parents_ids:
                      continue
                  parents_ids_added = add_to_frozen_set(parents_ids, item_id)
                  self.__search(thing, item, "%s[%s]" %
                                (parent, i), parents_ids_added)
docs: Search iterables except dictionaries, sets and strings.