Verhalten des Python-Generators

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))

Eingang:

2
aab
aac

jetzt beidesubs[0] undsubs[1] gib mir das gleiche Ergebnis.

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

wohingegenlist(subs[0]) gewesen sein sollte['a','aa','aab','a','ab','b']

Ich verstehe vage, warum das passiert. Was mache ich zu machensubs[0] undsubs[1] eigentlich anders.

HINWEIS: die Linie ändern

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

mit

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

ist keine Option

Antworten auf die Frage(2)

Ihre Antwort auf die Frage