Примеры решения задач на строки символов. Часть 2
# Замена символа на другой символ, лежащий на парной позиции. # Парными позициями считаются позиции 0, 2, 4, . # Параметры: # — s — исходная строка; # — c_old — символ, который нужно заменить; # — c_new — символ, который заменяет символ c_old. # Функция возвращает новую (измененную) строку. def ChangeCharToStrPair (s, c_old, c_new): # Начальные присваивания s2 = «» i = 0 # Цикл замены символов на парных позициях while i< len (s): if (s[i]==c_old) and (i%2==0): s2 = s2+c_new else : s2 = s2+s[i] i = i+1 return s2 # Демонстрация использования метода s = "sad sdks slkdj sss" s2 = ChangeCharToStrPair(s, 's' , 'X') print ( "s color: #800080;">print ( «s2 color: #333300;»>⇑
3. Функция DelCharAtPos() . Удаление буквы из слова, заданй номером позиции
Для удаления буквы из слова в заданной позиции, используется срез.
# Удаление буквы из слова, заданной номером позиции # Параметры: # — s — строка, из которой удаляется символ; # — pos — позиция символа в удаляемой строке. def DelCharAtPos (s, pos): # 1. Проверка, корректны ли данные if (pos<0) or (pos>= len (s)): return s # 2. Удаление символа через срез return s[:pos]+s[pos+1:] s = «0123456789» s2 = DelCharAtPos(s, 0) print ( «s = » , s) print ( «s2 color: #333300;»>⇑
4. Функция DelChar() . Удаление всех вхождений заданного символа из строки
В функции DelChar() из исходной строки s создается новая строка s2 , которая не содержит заданного символа c .
# Удаление всех вхождений заданного символа из строки # Параметры: # — s — строка, из которой удаляется символ; # — c — удаляемый символ. def DelChar (s, c): # новосозданная строка s2 = «» for sym in s: if sym!=c: # к строке s2 добавляются все символы кроме sym s2 += sym return s2 s = «012345363738494» s2 = DelChar(s, ‘3’ ) print ( «s = » , s) print ( «s2 color: #333300;»>⇑
5. Функция DelSubstring() . Удаление всех вхождений указанной подстроки в строке
Модификацией предыдущей функции DelChar() является функция DelSubstring() , которая удаляет все вхождения подстроки из заданной строки.
6. Функция FormArrayWords() . Формирование массива частоты вхождений слов в строке
Функция FormArrayWords() определяет частоту повторений слов в заданной строке. Функция возвращает словарь, содержащий пары строка:количество. Символы-разделители задаются параметром функции в виде списка.
Связанные темы
- Решение задач на строки символов. Часть 1
- Решение задач на обработку целых чисел. Часть 1
- Решение задач на обработку целых чисел. Часть 2
Python string replace
Python string replace — Метод строки replace() в Python предназначен для замены символа в строке. Метод replace() заменяет каждые символ попадающий под вхождение.
text = 'bat ball' # заменяем b на c replaced_text = text.replace('b', 'c') print(replaced_text) # Результат: cat callПараметры метода replace()
- old — Строка или подстрока, которую необходимо заменить
- new — строка или подстрока, на которую необходимо заменить старую строку или подстроку
- count — необязательный параметр, количество замены old на new
В случае если не указан параметр count , метод replace() произведет замену всех вхождений.
str.replace(old, new [, count])Метод replace() возвращает копию строки, в которой искомая подстрока/строка заменена на указанную нами подстроку/строку. В случае, если вхождений не обнаружена, метод replace() вернет нам копию исходной строки. Рассмотрим небольшой пример.
Пример 1. Используем метод replace
song = 'cold, cold heart' # заменяем 'cold' на 'hurt' print(song.replace('cold', 'hurt')) song = 'Let it be, let it be, let it be, let it be' # производим замену только два раза 'let' print(song.replace('let', "don't let", 2)) #Результат hurt, hurt heart Let it be, don't let it be, don't let it be, let it beЗамена с указанием дополнительных параметров
song = 'cold, cold heart' replaced_song = song.replace('o', 'e') # Исходная строка без изменений print('Original string:', song) print('Replaced string:', replaced_song) song = 'let it be, let it be, let it be' # 0 подстрок для замены # Возвращает копию подстроки/строки без изменений print(song.replace('let', 'so', 0))Метод replace() довольно часто является незаменимым удобным методом, при работе со строками. Как видите, замена строки/подстроки без особых проблем, достаточно знать какие параметры необходимо передавать, и в целом иметь представление того, как устроена логика работы данного метода.
Python замена символов в строке
Есть строка с n-м количеством символов, которые нужно заменить на другое значение которое будет заданно (например символ 'w' должен быть заменен на "gdsk"(это пример)),и так что у меня есть :
1. Мне известны символы которые будут использованы (это будет весь латинский алфавит) и на что их надо будет заменять (на что заменять не имеет значение, главное понять как работает)
Что мне нужно:
1.Заменить все введенные символы (все в одной строке)
Пример:
Было введено "privet"
мне известно что 'p' = "qaw" , 'r' = "rte" , 'i' = "hgt" , 'v' = "bnt" , 'e' = "mdg" , 't' = "mnv"
значит в конце должно вывести "qawrtehgtbntmdgmnv" , то бишь мы разбили строку на символы и заменили каждый на ранее указанное значение. Вопрос в том каким образом дойти до такого результата.
Выше был пример, вместо "privet" может быть "Hello world" или что-то другое, (напомню все символы которые будут вводиться известны и на что будут изменяться тоже)
P.S. Нужен пример с 2-я - 3-я символами, дальше уже сам допишу все остальные
P.S.S. Надеюсь на этот раз правильно выразился, а то больше не знаю как изложить свой вопрос:(Лучший ответ
p = "qwe"
r = "asd"
i = "zxc"st1 = "privet"
st2 = ''
for ch in st1:
if ch == 'p':
st2 += p
elif ch == 'r':
st2 += r
elif ch == 'i':
st2 += i
else:
st2 +=ch
print(st2)Остальные ответы
лень писать. пользуй какой-нибудь динамический тип данных. хоть связный список)))) ) загоняй в конец каждое новое сочетание букв. вроде совсем несложно
z=[('p' , "qaw") , ('r' , "rte") , ('i' , "hgt") , ('v' , "bnt") , ('e' , "mdg") , ('t' , "mnv")]
s='privet'
for p in z: s=s.replace(p[0],p[1])
---------------------------------------------
если я правильно понял постановку задачи.
В чём сомневаюсь,
ибо она (постановка) ,
несколько нечётка.Python (Питон) — основные методы строк: split, replace, find
Чуть ниже перечислим основные операции над строками Python.
Сложение строк:
String1 = 'Дормидонт'
String2 = 'Платонович'
print(String1 + String2)
Результат: "ДормидонтПлатонович"
Дублирование или умножение строк:
print('Дормидонт'*4)
Результат: "ДормидонтДормидонтДормидонтДормидонт"
Измерить длину строки:
len('Дормидонт')
Результат: 9
Доступ к символам строки по их индексу:
String = "Дормидонт"
String[0]
Результат: "Д"
String[1]
Результат: "о"
String[4]
Результат: "и"
Извлечь часть строки (срез):
String = 'Дормидонт'
String[1:3]
Результат: "ор"
String[:5]
Результат: "Дорми"
Основные функции и методы строк
- «String.find(str,[start],[end])» — эта функция ищет подстроку в строке и возвра щает индекс первого вхождения;
- «String.rfind(str,[start],[end])» — эта функция ищет подстроку в строке и возвра щает индекс последнего вхождения;
- «String.index(str,[start],[end])» — эта функция ищет подстроку в строке и возвра щает номер первого вхождения или «ValueError»;
- «String.rindex(str,[start],[end])» — эта функция ищет подстроку в строке и возвра щает номер последнего вхождения или «ValueError»;
- «String.split(символ)» — эта функция разбивает строки по разделителю;
- «String.isdigit()» — эта функция проверяет наличие цифр в строке;
- «String.isalpha()» — эта функция проверяет наличие букв строке;
- «String.isnum()» — эта функция проверяет наличие цифр и ли букв в строке;
- «String.islower()» — эта функция проверяет, содержит ли строка символы в нижнем регистре;
- «String.isupper()» — эта функция проверяет, содержит ли строка символы в вер х нем регистре;
- «String.isspace()» — эта функция проверяет, содержит ли строка не отображаемые символы: пробел, табуляци ю , перенос строки и др.;
- «String.istitle» — метод проверки наличия заглавной буквы в начале строки;
- «String.upper()» — метод преобразования строки в верхний регистр;
- «String.lower()» — метод преобразования строки в нижний регистр;
- «ord(символ)» — метод перевода символа в его ASCII-код;
- «chr(число)» — метод перевода ASCII-кода в соответствующий символ;
- «String.capitalize()» — функция перевода первого символа строки в верхний регистр, а оставшиеся символы в нижний;
- «String.replace(шаблон, замена [maxcount])» — метод замены шаблона на «замену», где «maxcount» показывает ограничение количества замен;
- «String.istrip([chars])» — удаляет пробелы в начале строки;
- «String.rstrip([chars])» — удаляет пробелы в конце строки;
- «String.strip([chars])» — удаляет пробелы в начале и в конце строки;
- «String.title()» — преобразует первый символ каждого слова в верхний регистр, не трогая остальные символы;
- и др.
Примеры методов и функций в Python: split(), replace(), find()
Поиск символов в строке при помощи функции «find()»:
string = "Дормидонт, ты классный программист!"
index = string.find("мид")
print(index)
В качестве результата будет индекс символа первого совпадение. В нашем случае это « 3 » .
Как провести замену в строке:
string = "Дормидонт, ты классный программист!"
editedString = string.replace("классный", "посредственный")
print(editedString)
Результат будет: "Дормидонт, ты посредственный программист!"
Как разделить строку на подстроку с помощью функции «split()». В этой функции присутствует один важный момент — ей нужен разделитель, который будет разделять строку на подстроки. В качестве разделителя может выступать какой-то символ или набор символов. Например:
string = "Дормидонт, ты классный программист!"
splittedString = string.split(",")
print(splittedString)
print(splittedString[1])
В результате строка разделится на две подстроки, где в качестве разделителя высту пит « запятая » .
Заключение
Сегодня мы коротко поговорили о том , что такое строки в Python. Мы привели в пример основные операции, методы и функции, которые применяются к строкам Питона. Но самое главное — мы показали , как в коде работает метод «split()», а также функции «replace()» и «find()».
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.