Python: iterating through a list of objects within a list of objects
<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>
