[issue43076] str.split() indexing issue

2021-01-30 Thread Steven D'Aprano


Steven D'Aprano  added the comment:

Slicing is described here:

https://docs.python.org/3/tutorial/introduction.html

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43076] str.split() indexing issue

2021-01-30 Thread Steven D'Aprano


Steven D'Aprano  added the comment:

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.

--
nosy: +steven.daprano
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43076] str.split() indexing issue

2021-01-30 Thread Aleksandr Sigalov


New submission from Aleksandr Sigalov :

The following code ran in Google Colab...

=

import sys

print (sys.version)

string = 'WORD=BIRD\nBIRD\nBIRD'

print(string.split())

print('')

print(string.split('=')[0][0:3])
print(string.split('=')[1][0:3])

=

produces this...

=

3.6.9 (default, Oct  8 2020, 12:12:24) 
[GCC 8.4.0]
['WORD=BIRD', 'BIRD', 'BIRD']

WOR
BIR

=

Shouldn't index [0:3] give 4 chars? I looked in the docs and I could not find 
anything explaining this behavior.

=

Thanks.

--
components: Build
messages: 385975
nosy: tegridycode
priority: normal
severity: normal
status: open
title: str.split() indexing issue
type: behavior
versions: Python 3.6

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com