Удалить из строки первый и последний символ
@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
Упражнение не проходит проверку — что делать?
Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:
- Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.
В моей среде код работает, а здесь нет
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Мой код отличается от решения учителя
Это нормально , в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.
В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Прочитал урок — ничего не понятно
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.
Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.
Определения
- Индекс — позиция символа внутри строки.