В Python у разных типов данных есть свои методы (функции), специфичные для этого типа данных. И раз уж на прошлом уроке мы начали знакомиться со строками, то никак не пройти и мимо методов строк.
Вызов метода в Python
Для вызова метода, прибавляем точку к переменной, для которой данный метод вызывается, пишем само название метода и передаем в скобочках аргументы.
Поиск подстроки в строке Python
Для поиска подстроки в строке в Python, есть четыре метода:
Метод find() ищет индекс подстроки в строке — возвращает номер позиции символа указанного в аргументах.
В случае нескольких символов идущих подряд, Python вернет позицию, с которой начинается полное совпадение.
При обращении к несуществующей подстроке, вернется значение -1.
Метод index() тоже ищет подстроку в строке по её индексу, но в случае поиска несуществующей подстроки в отличии от find(), возвращает ошибку ValueError.
Методы rfind() и rindex() ищут подстроку с конца строки — справа.
Замена символа в строке
Метод replace() заменяет одни символы на другие, где первым параметром передаем, что заменить. А во втором параметре указываем , на что заменить.
Как удалить символ из строки?
Передадим во втором параметре пустые кавычки.
Как удалить пробелы в строке?
Первым параметром указываем пробел, а вторым параметром — пустые кавычки.
Разделить строку в Python
По умолчанию метод split() разделяет строку по пробелам и преобразует строку в список. В итоге мы получили список из трех элементов.
>>> h=’разбить строку питон’
>>> h.split()
[‘разбить’, ‘строку’, ‘питон’]
Разделить строку можно по любому другому символу, для этого передадим нужный символ в параметрах. При этом, сам символ удаляется из списка.
# Пример 1 — разделить по тире "-"
>>> p=’питон-1 питон-2′
>>> p.split(‘-‘)
[‘питон’, ‘1 питон’, ‘2’]
# Пример 2 — разделить по букве "t"
>>> c=’method split in python’
>>> c.split(‘t’)
[‘me’, ‘hod spli’, ‘ in py’, ‘hon’]
Объединить строки в Python
Несмотря на то, что метод join() является не строковым методом. Мы все равно его изучим в рамках данного урока. Поскольку join() в Python выполняет противоположную функцию метода split(). Берет элементы списка и преобразует список в строку. Имя переменной, ссылающейся на список строк — единственный передаваемый параметр метода join(). Перед точкой, мы указали разделитель — пустые кавычки.
# разделитель пробел
>>> ‘ ‘.join(a)
‘1 2 3 4 5’
# разделитель запятая
>>> ‘,’.join(a)
‘1,2,3,4,5’
Метод join() не работает с числовыми данными. Следующая запись приведет к ошибке.
Перед использованием метода join(), следует числа привести к строкам.
Верхний регистр строки в Python
Метод upper() приводит все буквы строки к верхнему регистру, не меняя остальных символов.
>>> w=’верхний регистр’
>>> w.upper()
‘ВЕРХНИЙ РЕГИСТР’
Нижний регистр строки в Python
Метод lower() приводит все буквы строки к нижнему регистру.
>>> r=’НИЖНИЙ РЕГИСТР’
>>> r.lower()
‘нижний регистр’
Подсчет количества символов
Метод count() считает, сколько раз встречается подстрока в строке, указанная в параметрах.
>>> y="посчитать количество слов"
>>> y.count(‘о’)
3
Проверка символов в строке
Метод isalpha() проверяет, состоит ли строка только из букв и возвращает истину или ложь.
>>> i=’толькобуквы’
>>> i.isalpha()
True
Метод isdigit() проверяет, состоит ли строка только из цифр и возвращает истину или ложь.
>>> f=’23456hbbn’
>>> f.isdigit()
False
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Она выглядит вот так:
Комментарии ( 0 ):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2020 Русаков Михаил Юрьевич. Все права защищены.
Язык программирования Python обладает высокоуровневой структурой данных, а его главной функцией считается повышение производительности разработчика и улучшение читаемости кода. Несмотря на минималистичность синтаксиса ядра, стандартная библиотека включает широкий набор полезных функций. В программе существует несколько типов данных, с которыми может столкнуться пользователь, и одним из них является string (строка). У данного модуля есть несколько преимуществ, среди которых стоит отметить простоту использования, а также разнообразие встроенных методов и возможностей для применения в повседневной работе. Строка в программе Python – это символы, размещенные в упорядоченной последовательности, но как их удалить?
Принцип работы со string в Питоне
Для считывания строки применяется стандартный ввод функции Imput():
В случае с языком программирования Python строка (S) представляет собой последовательность символов в определенном порядке. Допустимо ее заключение в кавычки, а также в апострофы:
Для двух блоков предусмотрена операция сложения и операция умножения на определенное число.
В первом случае речь идет о конкатенации:
Пример операции, когда требуется выполнить умножение на число:
Число символов составляет длину строки. Чтобы узнать данный параметр, используется функция len.
Для удаления элементов из строки в Python применяются срезы. Slice также предполагает очистку фрагмента подстроки. Срезы бывают трех типов, самым простым считается взятие одного компонента из блока. S(i) – это срез, который состоит из одного элемента, где i предполагает номер элемента в существующей последовательности. В данной программе нумерация берет начало с числа 0. Для string ‘Welcome’ это будет выглядеть следующим образом:
Номер компонента в строке носит название индекса. Удалив последний символ из строки в Python или любой другой элемент, пользователь создаст новую string. В программе строки считаются неизменными, любое действие со срезом позволяет ввести новый модуль в старую переменную. По сути, и переменных как таковых здесь не существует, они являются именами, которые взаимодействуют с определенными объектами. Допустимо связывание имени с одним из объектов, а потом при желании – с любым другим.
Удаление пробелов в программе Питон
Если в блоке встречаются пробелы, от которых необходимо избавиться, существует несколько действенных методов решения задачи. Когда есть несколько пробелов, расположенных прямо друг за другом, их можно заменить одним символом “*”. Первый и последний пробел в строке Python рекомендуется удалить. Классический метод решения в теории выглядит следующим образом:
- Первым делом необходимо избавиться от пробелов, расположенных в начале и конце блока. В этом случае он перебирается посимвольно от начала до конца.
- После того как будет обнаружен начальный непробельный символ, от него нужно взять срез и довести до конца string. Это делается, если нужно удалить последний элемент строки в Python. В ином случае срез выполняется в обратном порядке.
- Затем строка вновь просматривается посимвольно. Если следующий элемент не относится к пробелам, то необходимо создать новый блок с добавлением к нему данного символа.
Так будет выглядеть пример скрипта:
one two three four five six
Еще один способ выполнения задачи предполагает преобразование string в список. Метод Split() поможет разделить блок на слова по пробелам. Их количество не имеет значения, все, что нужно, – это собрать элементы в строку:
Удалить лишние пробелы в строке в программе Python можно и другим способом – используя в совокупности split() и join:
string = ‘ day_1 day_2 ‘
a = ‘ ‘ .join(string.split()) # a = [‘day_1’, ‘day_2’ ]
Иногда требуется полное удаление строки из файла Python. Для начала необходимо открыть искомый файл и выявить все существующие в нем блоки. После этого файл нужно будет открыть уже в режиме записи и указать все строки, исключая ту, от которой нужно избавиться:
with open(«yourfile.txt», «r») as f:
with open(«yourfile.txt», «w») as f:
for line in lines:
if line.strip(«
») != «nickname_to_delete»:
лабораторные работы и задачи по программированию и информатике, егэ по информатике
Операции соединения и повторения
- Cписки— это изменяемые последовательности в отличие от строк.
- Представим строку как объект в памяти, в этом случае, когда над строкой выполняются операции конкатенации и повторения, то сама строка не меняется, но в результате выполнения операции в другом месте памяти создается другая строка.
В строку нельзя добавить новый символ или удалить существующий, не создав при этом новой строки.
s1="breKeKeKeKs"; s1=s1.replace(‘Ke’,’XoXo’,2) s1 # breXoXoXoXoKeKs
Что касается списков, то при выполнении операций другие списки могут не создаваться, при этом изменяется непосредственно оригинал.
Из списков можно удалять и добавлять новые элементы.
[33, -12, ‘may’] + [21, 48.5, 33] # [33, -12, ‘may’, 21, 48.5, 33]
a=[33, -12, ‘may’] b=[21, 48.5, 33] print(a+b)# [33, -12, ‘may’, 21, 48.5, 33]
[[0,0],[0,1],[1,1]] * 2 # [[0, 0], [0, 1], [1, 1], [0, 0], [0, 1], [1, 1]]
a=[3, 2, 1] a[1]=0; print(a) # [3, 0, 1]
s=input(‘введите строку’) l=list(str(s));
Другие операции над списками при помощи функций
a=[1,7,3,88,33] a.sort() #[1,3,7,33,88] — сортировка a.reverse() #[88,33,7,3,1] — обратная сортировка a.index(7) #2 — индекс элемента a.clear() # — очистка списка len(a) # — длина списка sum(a) # — суммирование элементов
Функция join() — соединение элементов через определенный символ:
Функция split([sep]) — возвращает список подстрок, получающихся разбиением строки a разделителем sep:
- минимальный и максимальный элементы списка;
- сумму и среднее арифметическое;
- второй минимальный элемент (второй по минимальности).
Начало программы:
Добавление и удаление элементов списка
- Добавление элемента:
B = [] for x in mas: if x % 2 != 0: B.append(x)
При копировании списков, т.е. присваивании одного списка другому, изменение первого списка влечет за собой изменение второго списка. Так как эти объекты связаны одной областью памяти (ссылка на список).
mas1 =[1, 2, 3] mas2 = mas1 # создается ссылка на список mas1[0] = 4 print(mas2) #[4, 2, 3]
Чтобы создать не ссылку на список, а копию списка можно использовать либо срез либо функцию copy.
mas2 = mas1[:] # используем срез
import copy mas1 =[1,2,3] mas2 = copy.copy(mas1)
Примечание:
- Пример палиндрома: казак, ABBA
- Использовать функции.
- Поскольку при присваивании одного списка другому, изменение первого ведет к аналогичному изменению второго списка, то необходимо использовать копию ( copy ).
Начало программы:
import copy stroka=input(‘введите слово’) lst=list (stroka) # конвертируем строку в список
Генерация случайных чисел
Встроенный модуль Питона random позволяет генерировать псевдослучайные числа.
Модуль random включает в себя функцию random, которая возвращает действительное число в диапазоне от 0.0 до 1.0. Каждый раз при вызове функции возвращается число из длинного ряда.
Пример:
import random for i in range(10): x = random.random() print (x) # 0.5185207383774904 0.78283351055836 0.23601341583293534 .
Чтобы получить случайное число между 0.0 и верхней границей high, просто умножьте x на high.
Например, от 0.0 до 15.0:
import random for i in range(10): x = random.random() print (x * 15) # 11.075319687990554 7.152253113207329 .
Для того, чтобы получить псевдослучайное целое число:
import random random.randint( , )
Для того, чтобы получить псевдослучайное вещественное число:
import random random.uniform( , )
from random import randint l = [randint(10,80) for x in range(10)]
Цикл for при работе со списками
mylist=[1,2,3,4,5] for item in mylist: item = 0 # mylist не меняется! print(mylist) # [1, 2, 3, 4, 5] n=5 for i in range(n): mylist[i] = 0 # mylist меняется print(mylist) # [0, 0, 0, 0, 0]
Решать данную задачу на языке Python мы будем «классическим» вариантом — брать по очереди элементы списка и сравнивать каждый элемент со стоящими за ним. При первом же совпадении элементов делается вывод, что в списке есть одинаковые элементы, и работа программы завершается.
Для выхода из цикла будем использовать метод quit()
import random m = 6 mass=[] k=0 j=0 for i in range(m): mass.append(random.randint(-10,10)) print(mass[i]) # -10 0 -8 0 -10 1 for i in mass: k=k+1 for j in range(k,m): # j = 0 -8 0 -10 -> quit if (i==mass[j]): # -10==0 -10==-8 -10==0 -10==-10 -> quit print(‘yes’) quit()
Алгоритм:
- Заполнить список (массив) случайными числами
- Запросить для ввода минимум и максимум диапазона
- Найти индексы элементов, значения которых входят в диапазон. Добавлять найденные индексы к новому списку
- Вывести общее число найденных индексов (функция len()) и отдельно все индексы
После того, как элемент с подходящим значением добавлен в новый список – удалять его из исходного списка