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

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

  • автор:

Удалить из строки первый и последний символ

@S.Nick а если мне нужна конкретная функция, которая будет удалять первый и последний символ, не зависимо, какой длинны строка будет ?

22 июл 2019 в 23:04
@VyacheslavBondarev, его ответ так и делает. Это называется срез.
22 июл 2019 в 23:06

«Я так понимаю нельзя использовать метод .replace с двумя аргументами?» — а что, документацию на replace прочитать религия не позволяет? или вы каждый метод будете методом проб и ошибок изучать?

23 июл 2019 в 7:54
Уважаемый автор, если мой ответ был полезен, отметьте, пожалуйста, его, как решение.
26 июл 2019 в 8:08

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Вашу функцию можно реализовать вот так:

string = 'hello' def remove_char(s): result = s[1 : -1] return result print(remove_char(string)) 

В консоль будет выведено ell . Синтаксис s[1 : -1] означает, так называемый, «срез» – получение отрезка строки (хотя, в общем случае не строки, а любой коллекции, к элементам которой можно получить доступ через [] ), в данном случае, от первого с начала до первого с конца элемента (при том, что нумерация начинается с нулевого).

Подробнее о срезах можно прочитать здесь.

Отслеживать
ответ дан 23 июл 2019 в 5:18
5,127 1 1 золотой знак 14 14 серебряных знаков 31 31 бронзовый знак

s = a.replace(a[-1] + a[0], '') 

В данной строчке вы пытаетесь удалить из строки идущие подряд два символа, равные последнему и первому элементу.

То есть для строки hello ваш код будет пытаться удалить из неё oh . А так как внутри hello нет ни одного oh , то вообще никаких изменений произведено не будет.

Если вы, например, вызовете вашу функцию для строки hooho , то замена произойдёт, но заменится не то, что вы хотите, а oh из середины строки, и на выходе получится hoo , вместо ожидаемого ooh .

В общем, replace удаляет подстроки по значению. А если вам нужно удалять части строки, зная их положение в исходной строке, то используйте срез — правильный пример вам уже привели.

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

Для этой задачи можно использовать цикл. Но python way – это срезы. Удалить последний символ можно вот таким изящным способом:

>>> string = "Hello!" >>> string[:-1] 'Hello' >>> 

Мы получаем часть строки от первого до предпоследнего символа.

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

Последний элемент строки можно просто удалить срезом.

s = 'foobar' s = s[:-1] s # 'fooba' 

Основы Python за 14 дней

72 урока в онлайн-тренажере

4 живых вебинара и масскодинг

Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

Курсы по программированию на Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Похожие вопросы

01 ноября 2021

01 ноября 2021

01 ноября 2021

  • python строки
  • python массивы

01 ноября 2021

  • python строки
  • python массивы
  • 8 800 100 22 47 бесплатно по РФ
  • +7 495 085 28 38 бесплатно по Москве

Направления

  • Курсы «Backend-разработка»
  • Курсы «Frontend-разработка»
  • Курсы «Создание сайтов»
  • Курсы «Тестирование»
  • Курсы «Аналитика данных»
  • Интенсивные курсы
  • Курсы DevOps
  • Курсы «Веб-разработка»
  • Курсы «Математика для программистов»
  • Все курсы

О Хекслете

  • О нас
  • Карьера в Хекслете
  • Хекслет Колледж

ООО «Хекслет Рус» 432071, г. Ульяновск, пр-т Нариманова, дом 1Г, оф. 23 ОГРН 1217300010476

  • Справка
  • Вопросы и ответы
  • Сообщество
  • Дополнительно
  • Условия использования
  • Соглашение об обработке ПД
  • Оферта
  • Акции

Python: Извлечение символов из строки

Иногда нужно получить один символ из строки. Например, если сайт знает имя и фамилию пользователя, и в какой-то момент требуется вывести эту информацию в формате A. Ivanov. Для этого компьютеру потребуется взять первый символ из имени. В Python есть подходящая операция, которую мы изучим сегодня.

Представим, что из имени Alexander нужно вывести на экран только первую букву. Это выглядит так:

first_name = 'Alexander' print(first_name[0]) # => A 

Операция с квадратными скобками с цифрой извлекает элемент по индексу — позицией символа внутри строки. Индексы начинаются с 0 почти во всех языках программирования. Поэтому, чтобы получить первый символ, нужно указать индекс 0 . Индекс последнего элемента равен длине строки минус единица. Обращение к индексу за пределами строки приведет к ошибке:

# Длина строки 9, поэтому последний индекс — это 8 first_name = 'Alexander' print(first_name[8]) # => r print(first_name[9]) IndexError: string index out of range 

Чтобы лучше закрепить новые знания, посмотрите на код ниже и подумайте, что он выдаст:

magic = '\nyou' print(magic[1]) # => ? 

Бывают и нестандартные ситуации. Например, нужно вывести элемент из конца, причем из выражения с большим количеством символов. В этом случае можно воспользоваться отрицательным индексом, который облегчит работу программиста.

Допустимо использовать отрицательные индексы. В этом случае идет обращение к символам, начиная с конца строки. -1 — индекс последнего символа, -2 — предпоследнего и так далее. В отличие от прямой индексации, обратный отсчет идет от -1 :

first_name = 'Alexander' print(first_name[-1]) # => r 

Индексом может быть не только конкретное число, но и значение переменной. Посмотрите на пример ниже. Здесь мы записали индекс внутри квадратных скобок не числом, а переменной. Такой код приведет к тому же результату — выводу на экран символа A:

first_name = 'Alexander' index = 0 print(first_name[index]) # => A 

Чтобы выводить из выражения лишь некоторые символы, не нужно писать большое количество строк кода — достаточно извлечь элемент с помощью индекса. Также можно пользоваться отрицательным индексом, чтобы легче выводить символы с конца выражения. Далее разберемся, как с помощью этих знаний можно извлекать подстроки из строки.

Задание

Выведите на экран последний символ строки, находящейся в переменной name

Упражнение не проходит проверку — что делать? ��

Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:

  • Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.

В моей среде код работает, а здесь нет ��

Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.

Мой код отличается от решения учителя ��

Это нормально ��, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.

В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.

Прочитал урок — ничего не понятно ��

Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.

Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.

Определения

  • Индекс — позиция символа внутри строки.

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

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