2009-10-14 5 views

ответ

2
s = 'ABCDEFGHIJKLM' 
print s[3:7] 
print s[8:11] 
+0

Почему '7' и' 11', а не '8' и' 10'? Что это за синтаксис? Пожалуйста, объясните и дайте ссылки. – agf

2
>>> 'ABCDEFGHIJKLM'[3:7] 
'DEFG' 
>>> 'ABCDEFGHIJKLM'[8:11] 
'IJK' 

Вы можете прочитать tutorial или начинающих книгу.

3

Загляните в концепцию Python, называемую нарезкой последовательности!

8

Здесь вы идете

myString = 'ABCDEFGHIJKLM' 
first = myString[3:7] # => DEFG 
second = myString[8:11] # => IJK 

В синтаксисе нарезания, первое число включительно, а второй исключен.

Вы можете прочитать больше о Струнной нарезке из python docs

3
a = "ABCDEFGHIJKLM" 
print a[3:7], a[8:11] 

-> DEFG IJK

0

В альтернативе можно использовать operator.itemgetter:

>>> import operator 
>>> s = 'ABCDEFGHIJKLM' 
>>> f = operator.itemgetter(3,4,5,6,7,8,9,10,11) 
>>> f(s) 
('D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L') 
+1

'operator.itemgetter (slice (3, 7), slice (8, 11)) ('ABCDEFGHIJKLM') == ('DEFG', 'IJK')' – nosklo

Смежные вопросы