I just started learning Python (as my first language, so I know next to nothing) and have come across this problem.
Find the midpoint of a word, and point to it using a caret «^».
Example,
Computer
^
Thanks for any tips anyone could give me.
Kenan Banks
206k34 gold badges155 silver badges172 bronze badges
asked Oct 7, 2011 at 16:04
1
Use len
, which finds the length of the object.
>>> x = "Computer"
>>> x[len(x)/2 - 1]
'p'
—
# a.py
x = "Computer"
print x
print (" " * (len(x)/2 - 1)) + "^"
# % python a.py
Computer
^
answered Oct 7, 2011 at 16:07
JinJin
12.6k3 gold badges36 silver badges41 bronze badges
1
text='Computer'
print(text)
print('{0:^{1}}'.format('^',len(text)))
{0:...}
tellsformat
to replace replace itself with the first
argument,'^'
.{1}
gets replaced by the second argument,len(text)
.^{1}
tellsformat
to center the text, and make the total width
equal tolen(text)
.
So the docs for the full specs on format.
answered Oct 7, 2011 at 16:08
unutbuunutbu
832k180 gold badges1770 silver badges1660 bronze badges
2
The mid point depends on odd or even length of a string.
So, if it is an odd length the middle will be exactly len/2+1
if it is an even length, you should decide what is the middle for you (len/2 or len/2+1)
x="Computer"
if len(x)%2: return x[len(x)/2+1]
else: return x[len(x)/2]
DavidG
24k14 gold badges88 silver badges82 bronze badges
answered Jul 6, 2016 at 12:17
I like this format better because it’s simple. It just uses the round()
function. But this is only to find the midpoint and not to execute the ^
, but I assume that should be self-explanatory.
my_str2 = "computer"
output = round(len(my_str2)/2)
print(my_str2[output])
tdy
35.4k18 gold badges76 silver badges78 bronze badges
answered Nov 13, 2021 at 0:54
На чтение 9 мин Просмотров 4.3к. Опубликовано 10.11.2021
Подробное руководство по использованию строковых методов center, find, isalnum, replace, casefold, endswith, index, isdecimal, isdigit, join, split, isnumeric, isspace, isupper, partition в Python
Содержание
- Введение
- Метод str.center()
- Метод str.find()
- Метод str.isalnum()
- Метод str.replace()
- Метод str.casefold()
- Метод str.endswith()
- Метод str.index()
- Метод str.isdecimal()
- Метод str.isdigit()
- Метод str.join()
- Метод str.split()
- Метод str.isnumeric()
- Метод str.isspace()
- Метод str.isupper()
- Метод str.partition()
- Заключение
Введение
Строка – это такой порядок символов. Строки начинают считываться со ввода функции input().
Строки принадлежат к объектам класса str.
В сегодняшней статье мы рассмотрим методы строк.
Строковые методы в Python нужны для того, чтобы решить разные задачи. Ведь очень часто сами строки не могут реализовать все операции. Важно не забывать, что строковые методы не будут производить дополнительных действий и не будут менять начальные строки. Методы очень часто сравнивают с функциями. Они также могут вернуть результаты своей операции. Методы очень сильно связаны с типом данных.
Вообще в языке программирования Python есть более 30 методов строк, но в данной статье я расскажу о таких методах как center(), find(), isalnum(), replace(), casefold(), endswith(), index(), isdecimal(), isdigit(), join(), split(), isnumeric(), isspace(), isupper(), partition().
Метод str.center()
Этот метод нужно применять в тех случаях, если нужно выравнять строку по центру. Выравнивание будет выполняться с пробела. Сам метод составляет в себя несколько параметров: это length (есть обязательным параметром и показывает длину строки) и fillchar (символ выравнивания). Если вы указали новое число для ширины новой строки, чем той, которая была в начальной строке, то вы получите такой же код какой был в начале.
Пример кода:
value = "bad" some_value = value.center(11, "-") print(some_value)
Вывод программы:
Метод str.find()
Этот метод просто необходим, если вам нужно найти индексы совпадений подстроки в строке. Если данные вы не нашли, то метод возвратит -1. Данная функция может принимать такие параметры: substring (символ/подстрока) – это необходимая для вас подстрока; start – первый индекс со значением 0; end – индекс, который заканчивает отыскивание нужной подстроки.
С помощью метода find() вы можете находить необходимые индексы первого вхождения подстроки в последовательности (строке).
Пример кода:
my_question="Когда пары?" print("Индекс буквы ‘р’:", string.find("0"))
Вывод программы:
Метод str.isalnum()
Метод isalnum() нужен для того, чтобы выяснить есть ли в строке буквы или цифры. isalnum() вернет True в тех случаях, когда строка заполнена либо символами, либо числами.
Пример кода:
my_var='kfc429' print (my_var.isalnum()) myVar='kfc@429' print (myVar.isalnum()) var='333-kfc' print (var.isalnum())
Вывод программы:
Метод str.replace()
Метод replace() нужен для того, чтобы вернуть копии строки или заменить небольшую ее часть.
Пример кода:
my_variant='Lilia, Vita, Sasha, Masha' #Нужно заменить все подстроки “Vita” в строке print(my_variant.replace('Vita', 'Vitochka')
Вывод программы:
Lilia, , Vitochka, Sasha, Masha
Метод str.casefold()
Этот метод необходим для того, чтобы преобразовать строку в сложенный регистр. Сложенный регистр это почти тоже самое что нижний регистр, но более агрессивно.
Пример кода:
text='РозЫ, ПИоны, МаКИ' print(text.casefold())
Вывод программы:
Метод str.endswith()
Метод нужен для того, чтобы вернуть True, если строка имеет искомый суффикс. Данный метод может принимать такие три параметра в позициях: суффиксы-строки или кортежи с суффиксами, чтобы проверять данные в строках; start — это необязательный параметр, который помогает проверять суффиксы в строках; end — тоже необязательный параметр, который нужен для проверки суффиксов в строках.
Итак, сам метод нужен чтобы возвратить True или False, если строки заканчиваются суффиксом или не заканчиваются никакими суффиксами. Также в языке Python есть возможность передавать суффиксы кортежей. Если в вашей строке есть окончания на элемент кортежа, то данный метод вернет True. Если этого нет, то вернется False.
Пример кода:
my_text="Разве ты купил книгу?" new=my_text.endswith("книгу") print(new)
Вывод программы:
Метод str.index()
Данный метод возвращает индексы подстрок в середине строк. Если во время проверки не найдётся нужная подстрока, то пишется, что нашлась ошибка (ValueError). Метод может принимать данные параметров: sub (главная подстрока, которую нужно искать в строке), start (начало поиска подстроки), end (необязательный параметр, конец поиска подстроки).
По данному методу можно обнаружить начало указанной подстроки в исходной. Необязательные позиции start и end нужны для того, чтобы принимать любые значения и поддерживать механизмы срезов.
Методом можно воспользоваться в случаях необходимости найти начальные индексы подстроки.
Пример кода:
variant='В аудиторию вошел преподаватель' print (variant.index('преподаватель')) #3 print(variant.index('пришел'))
Вывод программы:
Traceback (most recent call last): File "<string>", line 4, in <module> ValueError: substring not found
Метод str.isdecimal()
С помощью этого метода можно вернуть True, в тех случаях, когда символы в строках являются десятичными числами. Если десятичных чисел в строке не нашлось, то возвращается False. Данный метод определяет есть ли цифры в строке. В таком случае возвращается True. Если в строке есть пробелы, буквы, точка или вообще пустая строка, возвращается False.
Пример кода:
my_text="12345" print (my_text.isdecimal()) #в строке только цифры my_text_2="1_2345" print (my_text_2.isdecimal()) #в строке есть нижнее подчеркивание.
Вывод программы:
Метод str.isdigit()
Данный метод похож на метод isdecimal(). True появляется в результате, если цифры в строке есть и False, если в строке появляется пробел или другой символ, буква, нижнее подчеркивание или смайлик.
С помощью метода isdigit() вы можете понять, что необходимая строка содержит цифры.
Но есть одно но: данный метод работать в тех случаях, если ваши числа являются положительными, на отрицательные данный метод не работает.
Пример кода:
text1='_' print(text1.isdigit()) text2='1235' print(text2.isdigit()) text3='12 563' print(text3.isdigit())
Вывод программы:
Метод str.join()
Он помогает собирать строки из списков с определёнными разделителями.
Данный метод отвечает за превращение списка в строку. Он может использоваться тогда, когда нужно принять итерируемые объекты как аргумент, а список очень часто выступает аргументом. Нужно знать, что этот список должен состоять из строк.
Очень часто начинающие python-программисты задаются вопросом: почему метод join() относится к методам строки, а не методам списка. Отвечаю: функцию join() вы можете использовать в разных целях и с разными итерируемыми объектами, но в результате вы получаете только строку.
Пример кода:
flower=["r", "o", "s", "e"] flower_str=",".join(flower) print ("Цветок:",flower_str)
Вывод программы:
Метод join() нельзя использовать в тех случаях, где объединять элементы разного типа. Чтобы не сделать ошибку, превращайте все объекты списка в строки. Это обязательное требование. С помощью метода join() вы можете разбивать строки и обратно преобразовать строку в список.
Метод str.split()
Метод split() есть противоположностью методу join. С его помощью можно разбить строки по нужному вам разделителю и получить список строк.
Метод split() может принимать несколько параметров. Первый параметр — это разделитель, по которому будет разделяться строка. Если вы не указали разделитель, то любой символ (пробел или даже другая строка) уже автоматически считается новым разделителем. Другой параметр — это maxsplit. Он нужен для того, чтобы показать какое будет число разделений в строке. Если вы укажите maxsplit, то ваш список будет иметь maxsplit и еще один объект.
Пример кода:
food='Water, Bread, Bun, Grape' #maxsplit:3 print(food.split (',', 3)) #maxsplit:4 print(food.split (',', 4))
Вывод программы:
['Water', ' Bread', ' Bun', ' Grape'] ['Water', ' Bread', ' Bun', ' Grape']
Метод str.isnumeric()
Мы прекрасно помним, что Python имеет динамическую типизацию (когда в объектах хранится информация о значении и информации о типах объектов; сама типизация имеет ряд преимуществ). Очень часто с помощью различных строковых методов не нужно менять тип данных. В Python есть встроенный метод isnumeric(). Он нужен чтобы обрабатывать строки.
Метод isnumeric() возвращает True в тех случаях, если символы оказываются числовыми символами. Если этого не происходит, то выводится False.
С помощью метода isnumeric() можно определить есть ли в аргументе дроби, целые числа, индекса (верхние и нижние), арабские и римские цифры.
Пример кода:
x="Демяновка_деревня" print(x.isnumeric()) #в строке буквы x="5896" print(x.isnumeric()) #в строке цифры
Вывод программы:
Метод str.isspace()
С помощью данного метода вы сможете проверить есть ли в строке пробелы. Этот метод не имеет никаких параметров. Если строка пуста или имеет один пробел, то вы в результате увидите False. Если наоборот, то True.
Пример кода:
var=' b ' print (var.isspace())
Вывод программы:
Метод str.isupper()
Данная строковая функция (метод) нужна для того, чтобы вы могли проверить все ли введенные буквы находятся в верхнем регистре. Метод isupper() позволяет вам вернуть True в тех случаях, если ваши буквы будут в строке прописными. Если нет — то будет выводится False.
Пример кода:
text='Косая строчка' print(text.isupper())
Вывод программы:
Нужно помнить о том, что данный метод не будет принимать других аргументов, а будет работать только с указанными вами аргументами.
Метод str.partition()
Данный метод нужен для того, чтобы строка разбилась на начало, середину и конец. В результате будет кортеж. В основном строка будет разбиваться слева направо.
Метод имеет один параметр sep. Он может содержать один или несколько букв или символов.
Пример кода:
string='The lion is the king of beasts' print (string.partition('lion')) print (string.partition('king')) string="The tiger is not king of beasts" print (string.partition('is not'))
Вывод программы:
('The ', 'lion', ' is the king of beasts') ('The lion is the ', 'king', ' of beasts') ('The tiger ', 'is not', ' king of beasts')
Заключение
В данной статье мы рассмотрели как использовать основные метолы строк и какие у них существуют аргументы. Больше информации о строковых методах можно получить из официальной документации Python.
Базовые операции¶
# Конкатенация (сложение) >>> s1 = 'spam' >>> s2 = 'eggs' >>> print(s1 + s2) 'spameggs' # Дублирование строки >>> print('spam' * 3) spamspamspam # Длина строки >>> len('spam') 4 # Доступ по индексу >>> S = 'spam' >>> S[0] 's' >>> S[2] 'a' >>> S[-2] 'a' # Срез >>> s = 'spameggs' >>> s[3:5] 'me' >>> s[2:-2] 'ameg' >>> s[:6] 'spameg' >>> s[1:] 'pameggs' >>> s[:] 'spameggs' # Шаг, извлечения среза >>> s[::-1] 'sggemaps' >>> s[3:5:-1] '' >>> s[2::2] 'aeg'
Другие функции и методы строк¶
# Литералы строк S = 'str'; S = "str"; S = '''str'''; S = """str""" # Экранированные последовательности S = "snptanbbb" # Неформатированные строки (подавляют экранирование) S = r"C:tempnew" # Строка байтов S = b"byte" # Конкатенация (сложение строк) S1 + S2 # Повторение строки S1 * 3 # Обращение по индексу S[i] # Извлечение среза S[i:j:step] # Длина строки len(S) # Поиск подстроки в строке. Возвращает номер первого вхождения или -1 S.find(str, [start],[end]) # Поиск подстроки в строке. Возвращает номер последнего вхождения или -1 S.rfind(str, [start],[end]) # Поиск подстроки в строке. Возвращает номер первого вхождения или вызывает ValueError S.index(str, [start],[end]) # Поиск подстроки в строке. Возвращает номер последнего вхождения или вызывает ValueError S.rindex(str, [start],[end]) # Замена шаблона S.replace(шаблон, замена) # Разбиение строки по разделителю S.split(символ) # Состоит ли строка из цифр S.isdigit() # Состоит ли строка из букв S.isalpha() # Состоит ли строка из цифр или букв S.isalnum() # Состоит ли строка из символов в нижнем регистре S.islower() # Состоит ли строка из символов в верхнем регистре S.isupper() # Состоит ли строка из неотображаемых символов (пробел, символ перевода страницы ('f'), "новая строка" ('n'), "перевод каретки" ('r'), "горизонтальная табуляция" ('t') и "вертикальная табуляция" ('v')) S.isspace() # Начинаются ли слова в строке с заглавной буквы S.istitle() # Преобразование строки к верхнему регистру S.upper() # Преобразование строки к нижнему регистру S.lower() # Начинается ли строка S с шаблона str S.startswith(str) # Заканчивается ли строка S шаблоном str S.endswith(str) # Сборка строки из списка с разделителем S S.join(список) # Символ в его код ASCII ord(символ) # Код ASCII в символ chr(число) # Переводит первый символ строки в верхний регистр, а все остальные в нижний S.capitalize() # Возвращает отцентрованную строку, по краям которой стоит символ fill (пробел по умолчанию) S.center(width, [fill]) # Возвращает количество непересекающихся вхождений подстроки в диапазоне [начало, конец] (0 и длина строки по умолчанию) S.count(str, [start],[end]) # Возвращает копию строки, в которой все символы табуляции заменяются одним или несколькими пробелами, в зависимости от текущего столбца. Если TabSize не указан, размер табуляции полагается равным 8 пробелам S.expandtabs([tabsize]) # Удаление пробельных символов в начале строки S.lstrip([chars]) # Удаление пробельных символов в конце строки S.rstrip([chars]) # Удаление пробельных символов в начале и в конце строки S.strip([chars]) # Возвращает кортеж, содержащий часть перед первым шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий саму строку, а затем две пустых строки S.partition(шаблон) # Возвращает кортеж, содержащий часть перед последним шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий две пустых строки, а затем саму строку S.rpartition(sep) # Переводит символы нижнего регистра в верхний, а верхнего – в нижний S.swapcase() # Первую букву каждого слова переводит в верхний регистр, а все остальные в нижний S.title() # Делает длину строки не меньшей width, по необходимости заполняя первые символы нулями S.zfill(width) # Делает длину строки не меньшей width, по необходимости заполняя последние символы символом fillchar S.ljust(width, fillchar=" ") # Делает длину строки не меньшей width, по необходимости заполняя первые символы символом fillchar S.rjust(width, fillchar=" ")
Форматирование строк¶
S.format(*args, **kwargs)
Примеры¶
Python: Определение позиции подстроки (функции str.find и str.rfind)¶
Определение позиции подстроки в строке с помощью функций str.find
и str.rfind
.
In [1]: str = 'ftp://dl.dropbox.com/u/7334460/Magick_py/py_magick.pdf'
Функция str.find
показывает первое вхождение подстроки. Все позиции возвращаются относительно начало строки.
In [2]: str.find('/') Out[2]: 4 In [3]: str[4] Out[3]: '/'
Можно определить вхождение в срезе. первое число показывает начало среза, в котором производится поиск. Второе число — конец среза. В случае отсутствия вхождения подстроки выводится -1.
In [4]: str.find('/', 8, 18) Out[4]: -1 In [5]: str[8:18] Out[5]: '.dropbox.c' In [6]: str.find('/', 8, 22) Out[6]: 20 In [7]: str[8:22] Out[7]: '.dropbox.com/u' In [8]: str[20] Out[8]: '/'
Функция str.rfind
осуществляет поиск с конца строки, но возвращает позицию подстроки относительно начала строки.
In [9]: str.rfind('/') Out[9]: 40 In [10]: str[40] Out[10]: '/'
Python: Извлекаем имя файла из URL¶
Понадобилось мне отрезать от URL всё, что находится после последнего слэша, т.е.названия файла. URL можеть быть какой угодно. Знаю, что задачу запросто можно решить с помощью специального модуля, но я хотел избежать этого. Есть, как минимум, два способа справиться с поставленным вопросом.
Способ №1¶
Достаточно простой способ. Разбиваем строку по слэшам с помощью функции split()
, которая возвращает список. А затем из этого списка извлекаем последний элемент. Он и будет названием файла.
In [1]: str = 'http://dl.dropbox.com/u/7334460/Magick_py/py_magick.pdf' In [2]: str.split('/') Out[2]: ['http:', '', 'dl.dropbox.com', 'u', '7334460', 'Magick_py', 'py_magick.pdf']
Повторим шаг с присвоением переменной:
In [3]: file_name = str.split('/')[-1] In [4]: file_name Out[4]: 'py_magick.pdf'
Способ №2¶
Второй способ интереснее. Сначала с помощью функции rfind()
находим первое вхождение с конца искомой подстроки. Функция возвращает позицию подстроки относительно начала строки. А далее просто делаем срез.
In [5]: str = 'http://dl.dropbox.com/u/7334460/Magick_py/py_magick.pdf' In [6]: str.rfind('/') Out[6]: 41
Делаем срез:
In [7]: file_name = str[42:] In [8]: file_name Out[8]: 'py_magick.pdf'
Методы строк python — это одни из наиболее часто используемых методов. В данной документации по методам строк, я постарался собрать все методы, их описания, и практические примеры по их применению.
Метод capitalize() в Python, преобразует первый символ строки в заглавную букву. В случае если в строке, первый символ начинается с маленькой буквы, а где то по середине строки присутствуют заглавные буквы, то данный метод преобразует эту строку в привычный нам вариант.
Пример 1. Строка с заглавной буквы
string = "python is AWesome."
capitalized_string = string.capitalize()
print('Неизмененный вариант: ', string)
print('Измененный вариант:', capitalized_string)
#Результат
Неизмененный вариант: python is AWesome
Измененный вариант: Python is awesome
Как видите, данный метод работает достаточно просто:
- Не принимает никаких значений
- Возвращает строку с заглавной буквы (не изменяет исходную строку)
Вполне логичным выглядит вопрос, а что если строка начинается не с алфавитного символа? А давайте посмотрим.
Пример 2. Неалфавитный первый символ
string = "+ is an operator."
new_string = string.capitalize()
print('Неизменный вариант:', string)
print('Измененный вариант:', new_string)
#Результат
Неизменный вариант: + is an operator.
Измененный вариант: + is an operator.
Строка в нижнем регистре Python
Метод casefold() — приведет строку в нижний регистр. Данный метод незаменим при задачах когда необходимо провести сравнение строк. Метод casefold() — удалит просто все различия в строке. Разберем небольшой пример, связанный с немецким алфавитом. Немецкая строчная буква ß является эквивалентом ss. Теперь, поскольку ß уже находится в нижнем регистре, то в данном случае, использование например метода lower() нам ничего не даст, но метод casefold() преобразует его в ss.
Пример 1. Приведение в нижний регистр
string = "PYTHON IS AWESOME"
# print lowercase string
print("В нижнем регистре:", string.casefold())
Результат:В нижнем регистре:python is awesome
Пример 2. Сравнение строк
Теперь разберем вышеописанный пример с немецкой строчной буквой.
firstString = "der Fluß"
secondString = "der Fluss"
if firstString.casefold() == secondString.casefold():
print('Строки равны.')
else:
print('Строки не равны.')
После запуска данного скрипта, мы увидим сообщение, что строки равны, так как casefold() привел все к единому регистру.
Выравнивание строки по центру
Для выравнивания строки по центру, в python предусмотрен метод center(). На самом деле, данный метод не совсем выравнивает строку по центру, он возвращает строку, с указанным дополнительным символом, будь то просто пробел, или какой нибудь другой символ. Разберемся с данным методом немного по подробнее.
Метод center() принимает два аргумента:
- width — длина строки с учетом дополненных символов
- fillchar — необязательный аргумент, задается символ который будет являться заполнителем
Пример 1. Метод center() заполнение по умолчанию
string = "Python is awesome"
new_string = string.center(24)
print("Centered String: ", new_string)
#Результат
Centered String: Python is awesome
Пример 2. Метод center() с заполнением символом *
string = "Python is awesome"
new_string = string.center(24, '*')
print("Centered String: ", new_string)
Результат:
Centered String: ***Python is awesome****
Количество символа в строке python
Возможно в вашей практической деятельности, вы столкнетесь с задачей, где вам необходимо подсчитать, какое количество раз повторяется тот или иной символ в строке? С такой задачей, вам поможет справится метод count(). Данный метод вернет количество вхождений искомого символа.
message = 'python is popular programming language'
# ищем символ p
print('Количество вхождений p:', message.count('p'))
# Результат: Количество вхождений p: 4
Как видим, данный метод безупречно выполняет свою функцию, теперь разберем более подробно как там все устроено. Синтаксис метода count() выглядит следующим образом:
string.count(substring, start=..., end=...)
Принимаемые параметры метода count():
Метод count() имеет один обязательный параметр, это непосредственно сама подстрока, которую необходимо найти. По мимо основного аргумента, есть еще необязательные аргументы:
- substring — подстрока которую необходимо найти в строке.
- start — необязательный, задается значение, откуда начинать поиск
- stop — задается значение, где прекратить поиск
В итоге в качестве возвращаемого значения, мы получим количество вхождений искомого символа/подстроки в ткущей строке.
Пример. Считаем количество вхождений подстроки
string = "Python is awesome, isn't it?"
substring = "is"
count = string.count(substring)
print("Вхождений:", count)
Вот таким довольно простым способом, мы можем получить нужный нам результат.
Проверка окончания строки
В Python есть метод endswith(), данный метод вернет True, если строка заканчивается указанным пользователем окончанием, False если это не так.
message = 'Python is fun'
# смотрим, есть ли в предложении окончание fun
print(message.endswith('fun'))
# Результат: True
Метод endswith() принимает несколько параметров. Один обязательный, и два необязательных параметра.
- Окончание/суффикс — подстрока, которую мы ищем в окончании строки
- start — начало поиска
- stop — конец поиска
Пример. Ищем вхождение окончания в строке
text = "Python is easy to learn."
result = text.endswith('to learn')
# получаем False
print(result)
result = text.endswith('to learn.')
# получаем True
print(result)
result = text.endswith('Python is easy to learn.')
# получаем True
print(result)
Как видите в применении данного метода, нет ничего сложного.
Поиск подстроки в строке python
Для поиска подстроки в строке Python, используется специальный метод find(). Метод find() как и большинство остальных методов, работает довольно просто. Если искомый элемент найден в строке, он вернет нам индекс первого вхождения, если не найден он вернет нам -1.
Метод find() принимает три параметра, один обязательный, и два необязательных параметра:
- Подстрока — элемент который необходимо найти
- Начало — индекса начала поиска
- Стоп — Индекса конца поиска
Рассмотрим пример использования данного метода:
quote = 'Let it be, let it be, let it be'
result = quote.find('let it')
print("Substring 'let it':", result)
result = quote.find('small')
print("Substring 'small ':", result)
if (quote.find('be,') != -1):
print("Элемент существует" 'be,'")
else:
print("Элемент не существует")
- В первом примере метод find() нашел первое вхождение и вернул нам значение индекса
- Во втором случае метод find() не нашел вхождение, и соответственно вернул значение -1
- В третьем случае, мы создали условие, если подстрока существует в строке (то есть не равна -1), то верни сообщение о его существовании, в противном случае, сообщение о том, что его нет.
Индекс символа в строке Python
Метод index() возвращает индекс подстроки, внутри строки, в случае если он существует. В случае, если подстрока отсутствует, мы получаем исключение.
text = 'Python is fun'
# Поиск индекса
result = text.index('is')
print(result)
# Результат: 7
Принимаемые параметры метода index()
- Подстрока — искомый элемент в строке
- Начало и конец — начала и конец поиска str[начало:конец]
Возвращаемые значения
- В случае, если подстрока существует в строке, метод index() вернет нам индекс искомого элемента
- В случае, если подстрока отсутствует в строке, метод index() вызовет ошибку ValueError
Ниже рассмотрим сразу два небольших примера, где мы увидим, как нам возвращается индекс строки, и как мы получаем ошибку.
sentence = 'Python programming is fun.'
result = sentence.index('is fun')
print(result)
result = sentence.index('Java')
print(result)