class_docstr: Checker for ast <-> pattern.
  
  NodeVisitor is needed for specific behavior checker.
  
  Attributes
  ----------
  node : AST
      node we want to compare with pattern
  placeholders : [AST]
      list of placeholder value for later comparison or replacement.
class_docstr_tok: ["Checker","for","ast","<","-",">","pattern",".","NodeVisitor","is","needed","for","specific","behavior","checker",".","Attributes","--","--","--","--","--","node",":","AST","node","we","want","to","compare","with","pattern","placeholders",":","[","AST","]","list","of","placeholder","value","for","later","comparison","or","replacement","."]
docstr: Check if list of node are equal. 
docstr_tok: ["Check","if","list","of","node","are","equal","."]
code: def check_list(self, node_list, pattern_list):
      """Check if list of node are equal."""
      if len(node_list) != len(pattern_list):
          return False
      return all(
          Check(node_elt, self.placeholders).visit(pattern_elt)
          for node_elt, pattern_elt in zip(node_list, pattern_list)
      )
  
imports: from gast import AST, iter_fields, NodeVisitor, Dict, Set
  from itertools import permutations
  from math import isnan
label_desc: Use image node_id 2 for calling the Check obj's underlying member method code with example usage: obj.check_list(node_list, pattern_list) and returns: all, False