title: Python: iterating through a list of objects within a list of objects
body: <p>I've made two classes called House and Window. I then made a list containing four Houses. Each instance of House has a list of Windows. I'm trying to iterate over the windows in each house and print it's ID. However, I seem to get some odd results :S I'd greatly appreciate any help.  </p>
  
  <pre><code>#!/usr/bin/env python
  
  # Minimal house class
  class House:
      ID = ""
      window_list = []
  
  # Minimal window class
  class Window:
      ID = ""
  
  # List of houses
  house_list = []
  
  # Number of windows to build into each of the four houses
  windows_per_house = [1, 3, 2, 1]
  
  # Build the houses
  for new_house in range(0, len(windows_per_house)):
  
      # Append the new house to the house list
      house_list.append(House())
  
      # Give the new house an ID
      house_list[new_house].ID = str(new_house)  
  
      # For each new house build some windows
      for new_window in range(0, windows_per_house[new_house]):
  
          # Append window to house's window list
          house_list[new_house].window_list.append(Window())
  
          # Give the window an ID
          house_list[new_house].window_list[new_window].ID = str(new_window)
  
  #Iterate through the windows of each house, printing house and window IDs.
  for house in house_list:
      print "House: " + house.ID
  
      for window in house.window_list:
          print "   Window: " + window.ID
  
  ####################
  # Desired output:
  #
  # House: 0
  #    Window: 0
  # House: 1
  #    Window: 0
  #    Window: 1
  #    Window: 2
  # House: 2
  #    Window: 0
  #    Window: 1
  # House: 3
  #    Window: 0  
  ####################
  </code></pre>