Author steven.daprano
Recipients steven.daprano, tegridycode
Date 2021-01-30.08:29:29
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1611995370.05.0.699533674993.issue43076@roundup.psfhosted.org>
In-reply-to
Content
Hi Aleksandr,

In future, when posting what you think might be a bug, please try to cut the code down to the bare minimum needed. In this case, it doesn't matter at all that the strings you are processing come from splitting a larger string. split() has done its job, correctly, giving you a list of  substrings

    ['WORD', 'BIRD\nBIRD\nBIRD']

You then extract each item, and only then take the slice from it. So you can simplify the problem:

    string = 'WORD'
    print(string[0:3])

You ask:

"Shouldn't index [0:3] give 4 chars?"

No. It gives *three* characters. The end index is not included in the slice. Slice indexes occur *between* the characters:

    |W|O|R|D|
    0.1.2.3.4

so a slice from 0 to 3 includes only three characters, not four.
History
Date User Action Args
2021-01-30 08:29:30steven.dapranosetrecipients: + steven.daprano, tegridycode
2021-01-30 08:29:30steven.dapranosetmessageid: <1611995370.05.0.699533674993.issue43076@roundup.psfhosted.org>
2021-01-30 08:29:30steven.dapranolinkissue43076 messages
2021-01-30 08:29:29steven.dapranocreate