Поведение генератора Python

import itertools
ws=[]
subs=[]
set_subs=[]
for i in xrange(int(raw_input())):
    S=raw_input()
    l=len(S)
    subs.append(S[i:j+1] for i in xrange(l) for j in xrange(i,l))

вход:

2
aab
aac

теперь обаsubs[0] а такжеsubs[1] дай мне тот же результат.

print list(subs[0])
>>>['a','aa','aac','a','ac','c']
print list(subs[1])
>>>['a','aa','aac','a','ac','c']

в то время какlist(subs[0]) должно было['a','aa','aab','a','ab','b']

Я смутно понимаю, почему это происходит. Что я делаю, чтобы сделатьsubs[0] а такжеsubs[1] на самом деле разные.

NOTE: изменение строки

subs.append(S[i:j+1] for i in xrange(l) for j in xrange(i,l))

с

subs.append([S[i:j+1] for i in xrange(l) for j in xrange(i,l)])

это не вариант

Ответы на вопрос(2)

Ваш ответ на вопрос