class_docstr: Evolution records as a chronological list of dictionaries.
  
  Data can be retrieved via the :meth:`select` method given the appropriate
  names.
  
  The :class:`Logbook` class may also contain other logbooks referred to
  as chapters. Chapters are used to store information associated to a
  specific part of the evolution. For example when computing statistics
  on different components of individuals (namely :class:`MultiStatistics`),
  chapters can be used to distinguish the average fitness and the average
  size.
class_docstr_tok: ["Evolution","records","as","a","chronological","list","of","dictionaries",".","Data","can","be","retrieved","via","the",":","meth",":","`","select","`","method","given","the","appropriate","names",".","The",":","class",":","`","Logbook","`","class","may","also","contain","other","logbooks","referred","to","as","chapters",".","Chapters","are","used","to","store","information","associated","to","a","specific","part","of","the","evolution",".","For","example","when","computing","statistics","on","different","components","of","individuals","(","namely",":","class",":","`","MultiStatistics","`",")",",","chapters","can","be","used","to","distinguish","the","average","fitness","and","the","average","size","."]
docstr: Enter a record of event in the logbook as a list of key-value pairs.
  The information are appended chronologically to a list as a dictionary.
  When the value part of a pair is a dictionary, the information contained
  in the dictionary are recorded in a chapter entitled as the name of the
  key part of the pair. Chapters are also Logbook.
docstr_tok: ["Enter","a","record","of","event","in","the","logbook","as","a","list","of","key-value","pairs",".","The","information","are","appended","chronologically","to","a","list","as","a","dictionary",".","When","the","value","part","of","a","pair","is","a","dictionary",",","the","information","contained","in","the","dictionary","are","recorded","in","a","chapter","entitled","as","the","name","of","the","key","part","of","the","pair",".","Chapters","are","also","Logbook","."]
code: def record(self, **infos):
      """Enter a record of event in the logbook as a list of key-value pairs.
      The information are appended chronologically to a list as a dictionary.
      When the value part of a pair is a dictionary, the information contained
      in the dictionary are recorded in a chapter entitled as the name of the
      key part of the pair. Chapters are also Logbook.
      """
      apply_to_all = {
          k: v for k, v in infos.items() if not isinstance(v, dict)
      }
      for key, value in list(infos.items()):
          if isinstance(value, dict):
              chapter_infos = value.copy()
              chapter_infos.update(apply_to_all)
              self.chapters[key].record(**chapter_infos)
              del infos[key]
      self.append(infos)
  
imports: from bisect import bisect_right
  from collections import defaultdict
  from copy import deepcopy
  from functools import partial
  from itertools import chain
  from operator import eq
label_desc: Use image node_id 2 for calling the Logbook obj's underlying member method code with example usage: obj.record() without return types