Как извлечь подстроки из строки в указанных положениях Например, «ABCDEFGHIJKLM». Я должен извлечь подстроку от 3 до 6 и 8 до 10.Извлечение подстрок в заданных положениях
Требуемая мощность: DEFG, IJK
Спасибо заранее.
Как извлечь подстроки из строки в указанных положениях Например, «ABCDEFGHIJKLM». Я должен извлечь подстроку от 3 до 6 и 8 до 10.Извлечение подстрок в заданных положениях
Требуемая мощность: DEFG, IJK
Спасибо заранее.
s = 'ABCDEFGHIJKLM'
print s[3:7]
print s[8:11]
Почему '7' и' 11', а не '8' и' 10'? Что это за синтаксис? Пожалуйста, объясните и дайте ссылки. – agf
>>> 'ABCDEFGHIJKLM'[3:7]
'DEFG'
>>> 'ABCDEFGHIJKLM'[8:11]
'IJK'
Вы можете прочитать tutorial или начинающих книгу.
Загляните в концепцию Python, называемую нарезкой последовательности!
Здесь вы идете
myString = 'ABCDEFGHIJKLM'
first = myString[3:7] # => DEFG
second = myString[8:11] # => IJK
В синтаксисе нарезания, первое число включительно, а второй исключен.
Вы можете прочитать больше о Струнной нарезке из python docs
a = "ABCDEFGHIJKLM"
print a[3:7], a[8:11]
-> DEFG IJK
В альтернативе можно использовать 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')
'operator.itemgetter (slice (3, 7), slice (8, 11)) ('ABCDEFGHIJKLM') == ('DEFG', 'IJK')' – nosklo
Является ли это домашнее задание? –