Message385976
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. |
|
Date |
User |
Action |
Args |
2021-01-30 08:29:30 | steven.daprano | set | recipients:
+ steven.daprano, tegridycode |
2021-01-30 08:29:30 | steven.daprano | set | messageid: <1611995370.05.0.699533674993.issue43076@roundup.psfhosted.org> |
2021-01-30 08:29:30 | steven.daprano | link | issue43076 messages |
2021-01-30 08:29:29 | steven.daprano | create | |
|