Python: lista list

Uruchomienie kodu

listoflists = []
list = []
for i in range(0,10):
    list.append(i)
    if len(list)>3:
        list.remove(list[0])
        listoflists.append((list, list[0]))
print listoflists

zwraca

[([7, 8, 9], 0), ([7, 8, 9], 0), ([7, 8, 9], 0), ([7, 8, 9], 1), ([7, 8, 9], 2), ([7, 8, 9], 3), ([7, 8, 9], 4), ([7, 8, 9], 5), ([7, 8, 9], 6), ([7, 8, 9], 7)]

tak więc pierwszy argument każdej krotki (listy) jest aktualizowany za każdym razem na liście list, ale druga lista argumentów [0] nie jest. Czy ktoś może wyjaśnić, co tu się dzieje i zaproponować sposób, aby to naprawić? Chciałbym wydrukować

[([0],0), ([0,1],0), ...

questionAnswers(7)

yourAnswerToTheQuestion