pythonコードについて
以下のpythonコードに関して質問があります。なぜ一度Falseになったatsplitがforループ内で再びTrueになるのでしょうか?以下にコードと結果を掲載しております。
def split_string(source,splitlist):
output = []
atsplit = True
for char in source:
if char in splitlist:
atsplit = True
print atsplit
else:
if atsplit:
output.append(char)
atsplit = False
print atsplit
else:
output[-1] = char
return output
out = split_string("This is a test-of the,string separation-code!"," ,!-")
print out
#>>> ['This', 'is', 'a', 'test', 'of', 'the', 'string', 'separation', 'code']
False
True
False
True
False
True
False
True
False
True
False
True
False
True
False
True
False
True
['This', 'is', 'a', 'test', 'of', 'the', 'string', 'separation', 'code']tsplit = True