Создайте функцию, проверьте, является ли s[i]
пробелом, затем верните пробел.Иначе разделить строку от начала до i
и i
до конца пробелами и конкатами и вернуть последний и первый элементы обоих разбиений.Например:
def getToken(str, i):
if str[i] == ' ': # if whitespace, return white space
return str[i]
return str[:i].split(' ')[-1]+str[i:].split(' ')[0] # else return the word
результат:
>>> getToken(s, 0)
'hi'
>>> getToken(s, 1)
'hi'
>>> getToken(s, 2)
' '
>>> getToken(s, 3)
'how'
>>> getToken(s, 11)
'you'
>>> getToken(s, 10)
' '
Индекс начинается с 0, если вы хотите, чтобы индекс начинался с 1, просто передайте yourindex-1
в функцию.