Page 236 - thinkpython
P. 236

214                                                         Appendix C. Lumpy

                                              <module>  dict  list
                                               inverse   1     0     'a'

                                                               1     'p'

                                                               2     't'
                                                               3     'o'
                                                              list
                                                         2     0     'r'
                                                        dict
                                                 hist   'a'    1
                                                        'p'    1

                                                        'r'    2

                                                        't'    1
                                                        'o'    1

                                              Figure C.4: Object diagram.



                  numbers = [17, 123]
                  empty = []

                  lumpy.object_diagram()
                  Figure C.3 shows the result. Lists are represented by a box that shows the indices mapping
                  to the elements. This representation is slightly misleading, since indices are not actually
                  part of the list, but I think they make the diagram easier to read. The empty list is repre-
                  sented by an empty box.

                  And here’s an example showing the dictionaries from Section 11.4. You can download it
                  from http://thinkpython.com/code/lumpy_demo4.py  .
                  from swampy.Lumpy import Lumpy


                  lumpy = Lumpy()
                  lumpy.make_reference()

                  hist = histogram(  'parrot ')
                  inverse = invert_dict(hist)

                  lumpy.object_diagram()
                  Figure C.4 shows the result. hist is a dictionary that maps from characters (single-letter
                  strings) to integers; inverse maps from integers to lists of strings.
                  This example generates an object diagram for Point and Rectangle objects, as in Sec-
                  tion 15.6. You can download it from http://thinkpython.com/code/lumpy_demo5.py  .


                  import copy
                  from swampy.Lumpy import Lumpy
   231   232   233   234   235   236   237   238   239   240   241