Как удалить первый элемент строки 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())