Как программно нарезать строку питона? - PullRequest
1 голос
/ 27 мая 2010

Очень простой вопрос, надеюсь. Итак, в Python вы можете разделить строки, используя индексы следующим образом:

>>> a="abcdefg"
>>> print a[2:4]
cd

но как это сделать, если индексы основаны на переменных? Э.Г.

>>> j=2
>>> h=4
>>> print a[j,h]
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: string indices must be integers

Ответы [ 2 ]

10 голосов
/ 27 мая 2010

Это работает, у вас просто есть опечатка, используйте a[j:h] вместо a[j,h]:

>>> a="abcdefg"
>>> print a[2:4]
cd
>>> j=2
>>> h=4
>>> print a[j:h]
cd
>>> 
3 голосов
/ 27 мая 2010

В дополнение к ответу Баккала, вот как программно управлять срезами, что иногда удобно:

a = 'abcdefg'
j=2;h=4
my_slice = slice(j,h) # you can pass this object around if you wish

a[my_slice] # -> cd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...