Как удалить символ из строки python по индексу
Перейти к содержимому

Как удалить символ из строки python по индексу

  • автор:

Как удалить первый элемент строки python

Для этой операции удобно использовать срезы. Срез позволяет получить любую часть строки, заключённую между указанными индексами. Например:

>>> string = "Hello, World!" >>> string[7:12] 'World' >>> 

Удаление первого символа строки равнозначно получению среза со второго символа и до конца строки:

>>> string = "hello" >>> new_str = string[1:] 'ello' >>> 

Второй индекс можно опустить, по умолчанию он равен длине строки.

Как удалить символ из строки по индексу

1. Будет ошибка во второй строчке. 2. Не следует использовать list в качестве имени переменной или функции.

10 сен 2018 в 14:29
1. Ошибки не наблюдаю. 2. Такое имя использую просто для наглядности только в этом примере
10 сен 2018 в 14:33
Ошибка будет уже в первой строчке – ValueError empty separtor
10 сен 2018 в 14:34

Я сомневаюсь, что вы запускали этот код. Ошибка ValueError: empty separator . И в 2.х и в 3.х. Да и последняя строчка выведет совсем не результат предпоследней. 2. Не надо использовать такие имена даже просто для наглядности.

10 сен 2018 в 14:36
@FedotSoldier Попробуйте в любом REPLе выполнить команду ‘123’.split(«»)
10 сен 2018 в 15:07

Используйте replace с указание индекса:

st = '12345' print(st.replace(st[1], '')) 

Отслеживать
3,186 2 2 золотых знака 9 9 серебряных знаков 16 16 бронзовых знаков
ответ дан 21 мар 2021 в 11:28
21 мар 2021 в 11:32

Заодно поясните, что дополнительно нового в вашем ответе по сравнению с этим ответом? Если ничего, то пожалуйста удалите это сообщение.

21 мар 2021 в 11:56

Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Удалить символ по определенному индексу в строке Python

В этом посте будет обсуждаться, как удалить символ по определенному индексу в строке Python.

Чтобы удалить любой символ из строки, вы должны создать новую строку, поскольку строки в Python неизменяемы. Есть несколько способов сделать это, которые подробно обсуждаются ниже:

1. Использование нарезки

Наиболее распространенный подход к удалению символа из строки по определенному индексу — использование нарезки. Вот простой пример, который возвращает новую строку с символом по заданному индексу. i удалено из строки s .

5 простых способов удалить символ из строки

Существует несколько методов, позволяющих удалить определенный символ из строки:

  • Примитивный метод.
  • Функция replace().
  • Срезы и конкатенация.
  • Метод join() и генератор списков.
  • Метод translate()

Важная деталь — строки в Python неизменяемы. Исходная строка останется нетронутой, а новую вернут методы, о которых написано выше.

Задачи по строкам и решения к ним у нас в телеграм канале PythonTurbo

1. Примитивный метод удаления символа из строки

Суть этого метода проста. Мы пишем цикл и создаем новую пустую строку. Цикл работает так: все символы кроме элемента с индексом n помещаются в новую строку. ( n — индекс элемента, который нам нужно удалить)

input_str = "pythonist" # Выводим в консоль исходную строку print ("Исходная строка: " + input_str) result_str = "" for i in range(0, len(input_str)): if i != 3: result_str = result_str + input_str[i] # Выводим в консоль строку после удаления i-го элемента print ("Строка после удаления i-го элемента: " + result_str)
Исходная строка: pythonist Строка после удаления i-го элемента: pytonist

2. Удаление элемента из строки с помощью метода replace()

str = "pythonist" print ("Исходная строка: " + str) res_str = str.replace('t', '') # Удаление всех 't' print("Строка после удаления всех символов t: " + res_str) # Удаление только первой t res_str = str.replace('t', '', 1) print ("Строка после удаления первого t: " + res_str)
Исходная строка: pythonist Строка после удаления всех символов t: pyhonis Строка после удаления первого t: pyhonist

Мини-задачка для вашей тренировки метода replace()

«Напишите программу на Python для получения строки из заданной строки, в которой все вхождения первого символа заменены на ‘$’, кроме самого первого символа.»

Пример: print(change_char(‘restart’))
»»» resta$t

Решение задачки можно глянуть у нас в канале

3. Удаление символа с помощью срезов и конкатенации

str = "pythonist" print ("Исходная строка: " + str) # Удаляем элемент с индексом 3 # с помощью срезов и объединения res_str = str[:3] + str[4:] print ("Строка после удаления символа: " + res_str
Исходная строка: pythonist Строка после удаления символа: pytonist

4. Удаление символа с помощью метода join() и генераторов списков

Суть этого метода в том, чтобы конвертировать строку в эквивалентный список. После этого все элементы кроме того, который мы собираемся удалить, объединяются в строку.

str = "pythonist" print("Исходная строка: " + str) # Удаление элемента с индексом 2 # с помощью join() и генератора списков res_str = ''.join([str[i] for i in range(len(str)) if i != 2]) print("Строка после удаления символа: " + res_str)
Исходная строка: pythonist Строка после удаления символа: pyhonist

5. Удаление символа из строки с помощью метода translate()

str = 'pythonist123pythonist' print(str.translate())

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *